blob: a98cd544608271e97b9b047edfa500d051294f97 [file] [log] [blame]
yuezonghe824eb0c2024-06-27 02:32:26 -07001/* From libc-5.3.12 */
2/*
3 * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
4 *
5 * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
6 */
7
8#include <errno.h>
9#include <unistd.h>
10#include <sys/syscall.h>
11
12extern void * __curbrk attribute_hidden;
13extern int __init_brk (void) attribute_hidden;
14extern void *_brk(void *ptr) attribute_hidden;
15
16int brk(void * end_data_seg)
17{
18 if (__init_brk () == 0)
19 {
20 __curbrk = _brk(end_data_seg);
21 if (__curbrk == end_data_seg)
22 return 0;
23 __set_errno(ENOMEM);
24 }
25 return -1;
26}
27libc_hidden_def(brk)