From 683158e0c42dc68e3c43a32b6e5d832c5280e94e Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sun, 3 Dec 1995 10:00:22 +0000 Subject: * sysdeps/mach/hurd/brk.c (DATA_SIZE): Bump to 128MB. (_hurd_set_brk): Try to allocate more space when we run out. * sysdeps/generic/sbrk.c: If __curbrk is zero, call __brk with zero and examine it again. * sysdeps/unix/sysv/linux/i386/brk.c: New file. * sysdeps/unix/sysv/linux/i386/brk.S: File removed. * sysdeps/unix/sysv/linux/i386/sbrk.S: File removed. * sysdeps/unix/sysv/linux/dl-sysdep.c: New file. --- sysdeps/generic/sbrk.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'sysdeps/generic/sbrk.c') diff --git a/sysdeps/generic/sbrk.c b/sysdeps/generic/sbrk.c index 28beab62d5..83e2536d5d 100644 --- a/sysdeps/generic/sbrk.c +++ b/sysdeps/generic/sbrk.c @@ -15,26 +15,30 @@ You should have received a copy of the GNU General Public License along with the GNU C Library; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include +#include +#include /* Defined in brk.c. */ -extern PTR __curbrk; -extern int EXFUN(__brk, (PTR addr)); +extern void *__curbrk; +extern int __brk (void *addr); /* Extend the process's data space by INCREMENT. If INCREMENT is negative, shrink data space by - INCREMENT. Return start of new space allocated, or -1 for errors. */ -PTR -DEFUN(__sbrk, (increment), int increment) +void * +__sbrk (int increment) { - char *oldbrk; + void *oldbrk; + + if (__curbrk == 0 && __brk (0) < 0) + return (void *) -1; if (increment == 0) return __curbrk; oldbrk = __curbrk; - if (__brk(oldbrk + increment) < 0) - return (PTR) -1; + if (__brk (oldbrk + increment) < 0) + return (void *) -1; return oldbrk; } -- cgit v1.2.3