diff options
author | Roland McGrath <roland@gnu.org> | 1995-12-02 10:00:20 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1995-12-02 10:00:20 +0000 |
commit | 0fe4e552917483253b68ac9800b8bd292bf3a51d (patch) | |
tree | adf82ff1f8237186f70460a11934f85b2b5be12f | |
parent | 376fd36e2d2383b9049e81ce9494b904a101e4d1 (diff) | |
download | glibc-0fe4e552917483253b68ac9800b8bd292bf3a51d.zip glibc-0fe4e552917483253b68ac9800b8bd292bf3a51d.tar.gz glibc-0fe4e552917483253b68ac9800b8bd292bf3a51d.tar.bz2 |
Sat Dec 2 03:47:27 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>cvs/libc-951202
* 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.
-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 e54e311..0000000 --- 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 31ed27b..0000000 --- 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) |