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)12 int 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