diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/brk.S | 52 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/sbrk.S | 82 |
3 files changed, 11 insertions, 134 deletions
@@ -1,3 +1,14 @@ +Sat Dec 2 03:47:27 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * sysdeps/unix/sysv/linux/i386/sbrk.S: File removed. + + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [DL_SYSDEP_INIT]: + Invoke this macro before calling DL_MAIN. + + * malloc/malloc.c (malloc): Do initialization here, before + checking the hook. + (_malloc_internal): Don't do it here. + Wed Nov 29 12:30:50 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * libio/vsnprintf.c (__vsnprintf): Define as alias. diff --git a/sysdeps/unix/sysv/linux/i386/brk.S b/sysdeps/unix/sysv/linux/i386/brk.S deleted file mode 100644 index e54e311f23..0000000000 --- a/sysdeps/unix/sysv/linux/i386/brk.S +++ /dev/null @@ -1,52 +0,0 @@ -/* Copyright (C) 1991, 1992, 1993, 1995 Free Software Foundation, Inc. -This file is part of the GNU C Library. - -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ - -#include <sysdep.h> - -.data -.globl C_SYMBOL_NAME(__curbrk) -C_LABEL(__curbrk) - .long C_SYMBOL_NAME(_end) - -.text - - SYSCALL_ERROR_HANDLER -ENTRY (__brk) - movl %ebx, %edx - movl $SYS_ify(brk), %eax - movl 4(%esp), %ebx - int $0x80 - movl %edx, %ebx - - cmpl 4(%esp), %eax - jne syscall_error - -#ifdef PIC - /* Standard PIC nonsense to store into `__curbrk' through the GOT. */ - call here -here: popl %ecx - addl $_GLOBAL_OFFSET_TABLE_+[.-here], %ecx - movl C_SYMBOL_NAME(__curbrk@GOT)(%ecx), %ecx - movl %eax, (%ecx) -#else - movl %eax, C_SYMBOL_NAME(__curbrk) -#endif - xorl %eax, %eax - ret - -weak_alias (__brk, brk) diff --git a/sysdeps/unix/sysv/linux/i386/sbrk.S b/sysdeps/unix/sysv/linux/i386/sbrk.S deleted file mode 100644 index 31ed27b9fc..0000000000 --- a/sysdeps/unix/sysv/linux/i386/sbrk.S +++ /dev/null @@ -1,82 +0,0 @@ -/* Copyright (C) 1995 Free Software Foundation, Inc. -This file is part of the GNU C Library. - -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ - -#include <sysdep.h> - -.data -.globl C_SYMBOL_NAME(__curbrk) - -.text - SYSCALL_ERROR_HANDLER - -ENTRY (__sbrk) - - movl %ebx, %edx - -#ifdef PIC - /* Standard PIC nonsense to access `__curbrk' through the GOT. */ - call .L0 -.L0: popl %ecx - addl $_GLOBAL_OFFSET_TABLE_+[.-.L0], %ecx - - movl C_SYMBOL_NAME(__curbrk@GOT)(%ecx), %ecx - movl (%ecx), %ebx - movl %ebx, %eax - testl %ebx, %ebx - jne .L1 - - /* We have to initialize `__curbrk' first. */ - movl $SYS_ify(brk), %eax - int $0x80 - - movl %eax, (%ecx) - movl %eax, %ebx - .align 16, 0x90 - -.L1: -#else - movl C_SYMBOL_NAME(__curbrk), %ebx - movl %ebx, %eax -#endif - - addl 4(%esp), %ebx - cmpl %ebx, %eax - je .L2 - - movl $SYS_ify(brk), %eax - int $0x80 - - cmpl %eax, %ebx - jne .L3 - -#ifdef PIC - xchgl %eax, (%ecx) -#else - xchgl %eax, C_SYMBOL_NAME(__curbrk) -#endif - -.L2: - movl %edx, %ebx - ret - - .align 16 -.L3: - movl %edx, %ebx - jmp syscall_error - -weak_alias (__sbrk, sbrk) |