summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/common/bits/kernel_sigaction.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/common/bits/kernel_sigaction.h')
-rw-r--r--libc/sysdeps/linux/common/bits/kernel_sigaction.h43
1 files changed, 13 insertions, 30 deletions
diff --git a/libc/sysdeps/linux/common/bits/kernel_sigaction.h b/libc/sysdeps/linux/common/bits/kernel_sigaction.h
index 6eaf61f1d..5baf1e224 100644
--- a/libc/sysdeps/linux/common/bits/kernel_sigaction.h
+++ b/libc/sysdeps/linux/common/bits/kernel_sigaction.h
@@ -4,36 +4,9 @@
/* This file provides whatever this particular arch's kernel thinks
* the sigaction struct should look like... */
-#if defined(__alpha__)
-#undef HAVE_SA_RESTORER
-/* This is the sigaction struction from the Linux 2.1.20 kernel. */
-struct old_kernel_sigaction {
- __sighandler_t k_sa_handler;
- unsigned long sa_mask;
- unsigned int sa_flags;
-};
-/* This is the sigaction structure from the Linux 2.1.68 kernel. */
-struct kernel_sigaction {
- __sighandler_t k_sa_handler;
- unsigned int sa_flags;
- sigset_t sa_mask;
-};
-#elif defined(__hppa__)
-#undef HAVE_SA_RESTORER
-/* This is the sigaction struction from the Linux 2.1.20 kernel. */
-/* Blah. This is bogus. We don't ever use it. */
-struct old_kernel_sigaction {
- __sighandler_t k_sa_handler;
- unsigned long sa_mask;
- unsigned long sa_flags;
-};
-/* This is the sigaction structure from the Linux 2.1.68 kernel. */
-struct kernel_sigaction {
- __sighandler_t k_sa_handler;
- unsigned long sa_flags;
- sigset_t sa_mask;
-};
-#elif defined(__mips__)
+#undef NO_OLD_SIGACTION
+
+#if defined(__mips__)
#undef HAVE_SA_RESTORER
/* This is the sigaction structure from the Linux 2.1.24 kernel. */
#include <sgidefs.h>
@@ -58,6 +31,14 @@ struct kernel_sigaction {
void (*sa_restorer)(void);
int s_resv[1]; /* reserved */
};
+#elif defined(__ia64__)
+#define NO_OLD_SIGACTION
+#undef HAVE_SA_RESTORER
+struct kernel_sigaction {
+ __sighandler_t k_sa_handler;
+ unsigned long sa_flags;
+ sigset_t sa_mask;
+};
#else
#define HAVE_SA_RESTORER
/* This is the sigaction structure from the Linux 2.1.20 kernel. */
@@ -76,8 +57,10 @@ struct kernel_sigaction {
};
#endif
+#ifndef NO_OLD_SIGACTION
extern int __syscall_sigaction (int, const struct old_kernel_sigaction *__unbounded,
struct old_kernel_sigaction *__unbounded);
+#endif
extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *__unbounded,
struct kernel_sigaction *__unbounded, size_t);