about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-03-18 18:32:47 +0000
committerRoland McGrath <roland@gnu.org>1996-03-18 18:32:47 +0000
commite384537164e04d46fe1749899715abd72d33c54e (patch)
treef906d3c3ecf09b014c1cd395683d7796e40b4921
parent9b431e31e15b4620c862208c1079fdace62313aa (diff)
downloadglibc-e384537164e04d46fe1749899715abd72d33c54e.tar.gz
glibc-e384537164e04d46fe1749899715abd72d33c54e.tar.xz
glibc-e384537164e04d46fe1749899715abd72d33c54e.zip
Mon Mar 18 13:20:46 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> cvs/libc-960319
	* elf/Makefile (rtld-link): New canned sequence.
	(ld.so, ld-linux.so.1): Use it.  Pass -soname option.

	* sysdeps/i386/setjmp.S (__setjmp): Define compatibility entry point.

Sun Mar 17 23:15:32 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/tcgetpgrp.c,
	sysdeps/unix/sysv/linux/tcsetpgrp.c: New files.
-rw-r--r--ChangeLog12
-rw-r--r--elf/Makefile12
-rw-r--r--sysdeps/i386/setjmp.S8
-rw-r--r--sysdeps/unix/sysv/linux/tcgetpgrp.c1
-rw-r--r--sysdeps/unix/sysv/linux/tcsetpgrp.c1
5 files changed, 30 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index b8d5fef5e8..ae9a44e9b6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+Mon Mar 18 13:20:46 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
+
+	* elf/Makefile (rtld-link): New canned sequence.
+	(ld.so, ld-linux.so.1): Use it.  Pass -soname option.
+
+	* sysdeps/i386/setjmp.S (__setjmp): Define compatibility entry point.
+
+Sun Mar 17 23:15:32 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* sysdeps/unix/sysv/linux/tcgetpgrp.c,
+	sysdeps/unix/sysv/linux/tcsetpgrp.c: New files.
+
 Sun Mar 17 07:19:33 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>
 
 	* db/Makefile (CFLAGS-hash_func.c): New variable; pass -Wno-unused.
diff --git a/elf/Makefile b/elf/Makefile
index e89bf7bf9c..a77460d1de 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -61,9 +61,15 @@ $(objpfx)librtld.so: $(rtld-routines:%=$(objpfx)%.so) \
 	$(LINK.o) -nostdlib -nostartfiles -r -o $@ \
 		  '-Wl,-(' $^ -lgcc '-Wl,-)'
 
-$(objpfx)ld.so $(objpfx)ld-linux.so.1: $(objpfx)librtld.so
-	$(LINK.o) -nostdlib -nostartfiles -shared -o $@ \
-		  -Wl,-rpath=$(default-rpath) $^
+$(objpfx)ld.so: $(objpfx)librtld.so
+	$(rtld-link) -Wl,-soname=$(rtld-installed-name)
+$(objpfx)ld-linux.so.1: $(objpfx)librtld.so
+	$(rtld-link) -Wl,-soname=ld-linux.so.1
+
+define rtld-link
+$(LINK.o) -nostdlib -nostartfiles -shared -o $@ \
+	  -Wl,-rpath=$(default-rpath) $^
+endef
 
 # The Linux-compatible dynamic linker shared object is just the same
 # with one object file of compatibility initialization code added.
diff --git a/sysdeps/i386/setjmp.S b/sysdeps/i386/setjmp.S
index ccb7147606..498a925b00 100644
--- a/sysdeps/i386/setjmp.S
+++ b/sysdeps/i386/setjmp.S
@@ -1,5 +1,5 @@
 /* setjmp for i386.
-Copyright (C) 1995 Free Software Foundation, Inc.
+Copyright (C) 1995, 1996 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
@@ -21,6 +21,12 @@ Cambridge, MA 02139, USA.  */
 #define _ASM
 #include <jmp_buf.h>
 
+	/* Binary compatibility entry point.  */
+ENTRY (__setjmp)
+	popl %eax		/* Pop return address.  */
+	pushl $0		/* Push zero argument.  */
+	pushl %eax		/* Push back return address.  */
+
 ENTRY (__sigsetjmp)
 	movl 4(%esp), %eax	/* User's jmp_buf in %eax.  */
      	/* Save registers.  */
diff --git a/sysdeps/unix/sysv/linux/tcgetpgrp.c b/sysdeps/unix/sysv/linux/tcgetpgrp.c
new file mode 100644
index 0000000000..d899fc78f8
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/tcgetpgrp.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/bsd/tcgetpgrp.c>
diff --git a/sysdeps/unix/sysv/linux/tcsetpgrp.c b/sysdeps/unix/sysv/linux/tcsetpgrp.c
new file mode 100644
index 0000000000..e4d4833901
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/tcsetpgrp.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/bsd/tcsetpgrp.c>