__init_brk.c 351 B

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