aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2006-09-12 13:59:26 -0700
committerH. Peter Anvin <hpa@zytor.com>2006-09-12 13:59:26 -0700
commite759e5bf85b4c6f895a31001a07a216699b07ccc (patch)
treec3b692902c4a27b5bf7a6a0edc4d9aa266c69b9b
parent7076bc0504b683f1ae2ff4b737ba9be6b2436dd9 (diff)
downloadklibc-e759e5bf85b4c6f895a31001a07a216699b07ccc.tar.gz
[klibc] Remove SA_RESTORER/sigreturn hack for i386klibc-1.4.28
Remove the SA_RESTORER/sigreturn hack for i386. On i386, the format of the sigreturn stub varies depeding on if SA_SIGINFO is set or not; the stock kernels were always OK (only some Fedora kernels were broken), and the Fedora kernels that were broken can now be considered historic. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--usr/include/arch/i386/klibc/archconfig.h4
-rw-r--r--usr/klibc/arch/i386/Kbuild2
-rw-r--r--usr/klibc/arch/i386/sigreturn.S15
3 files changed, 1 insertions, 20 deletions
diff --git a/usr/include/arch/i386/klibc/archconfig.h b/usr/include/arch/i386/klibc/archconfig.h
index 4463d08256627..37a4c8a3c8058 100644
--- a/usr/include/arch/i386/klibc/archconfig.h
+++ b/usr/include/arch/i386/klibc/archconfig.h
@@ -12,8 +12,4 @@
/* On i386, only half the signals are accessible using the legacy calls. */
#define _KLIBC_USE_RT_SIG 1
-/* The stock i386 kernel is fine, but a whole string of Fedora kernels
- had a broken default restorer. It's easier to enable this here. */
-#define _KLIBC_NEEDS_SA_RESTORER 1
-
#endif /* _KLIBC_ARCHCONFIG_H */
diff --git a/usr/klibc/arch/i386/Kbuild b/usr/klibc/arch/i386/Kbuild
index 9a9db82d524a4..edc7b3ccfd653 100644
--- a/usr/klibc/arch/i386/Kbuild
+++ b/usr/klibc/arch/i386/Kbuild
@@ -3,7 +3,7 @@
#
klib-y := socketcall.o setjmp.o syscall.o varsyscall.o
-klib-y += open.o openat.o sigreturn.o vfork.o
+klib-y += open.o openat.o vfork.o
klib-y += libgcc/__ashldi3.o libgcc/__ashrdi3.o libgcc/__lshrdi3.o
klib-y += libgcc/__muldi3.o libgcc/__negdi2.o
diff --git a/usr/klibc/arch/i386/sigreturn.S b/usr/klibc/arch/i386/sigreturn.S
deleted file mode 100644
index f2a32419d394d..0000000000000
--- a/usr/klibc/arch/i386/sigreturn.S
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# arch/i386/sigreturn.S
-#
-
-#include <asm/unistd.h>
-
- .text
- .align 4
- .globl __sigreturn
- .type __sigreturn,@function
-__sigreturn:
- pop %eax # Have no idea why this is needed...
- movl $__NR_sigreturn,%eax
- int $0x80
- .size __sigreturn,.-__sigreturn