summaryrefslogtreecommitdiff
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)
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>