[klibc] Remove SA_RESTORER/sigreturn hack for i386
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>
diff --git a/usr/include/arch/i386/klibc/archconfig.h b/usr/include/arch/i386/klibc/archconfig.h
index 4463d08..37a4c8a 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 9a9db82..edc7b3c 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 f2a3241..0000000
--- 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