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