__init_brk.c 423 B

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