about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--sysdeps/unix/sysv/linux/i386/brk.S52
-rw-r--r--sysdeps/unix/sysv/linux/i386/sbrk.S82
3 files changed, 11 insertions, 134 deletions
diff --git a/ChangeLog b/ChangeLog
index bc2d878212..891d191bef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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)