brk.c 424 B

1234567891011121314151617181920212223
  1. /* From libc-5.3.12 */
  2. #include <errno.h>
  3. #include <unistd.h>
  4. #include <sys/syscall.h>
  5. extern void * __curbrk;
  6. extern int __init_brk (void);
  7. extern void *_brk(void *ptr) attribute_hidden;
  8. int attribute_hidden __brk(void * end_data_seg)
  9. {
  10. if (__init_brk () == 0)
  11. {
  12. __curbrk = _brk(end_data_seg);
  13. if (__curbrk == end_data_seg)
  14. return 0;
  15. __set_errno(ENOMEM);
  16. }
  17. return -1;
  18. }
  19. strong_alias(__brk,brk)