__init_brk.c 448 B

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