[PATCH] ia64: fix sigaction decoding
Mike Frysinger
vapier at gentoo.org
Thu Aug 14 04:30:24 UTC 2014
Looks like ia64 doesn't have sa_restorer either, yet still defines
SA_RESTORER. Deploy the same trick that HPPA is using to make the
test pass.
* signal.c (SA_RESTORER): Undefine when IA64 is defined.
(struct new_sigaction): Disable sa_restorer on ia64.
---
signal.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/signal.c b/signal.c
index 9a7c82f..f6eeed0 100644
--- a/signal.c
+++ b/signal.c
@@ -100,9 +100,9 @@ struct sigcontext {
# endif
#endif
-/* HPPA defines this in their headers, but doesn't actually have it,
+/* Some arches define this in their headers, but don't actually have it,
so we have to delete the define. */
-#ifdef HPPA
+#if defined(HPPA) || defined(IA64)
# undef SA_RESTORER
#endif
@@ -1134,9 +1134,9 @@ struct new_sigaction
#else
void (*__sa_handler)(int);
unsigned long sa_flags;
-# if !defined(ALPHA) && !defined(HPPA)
+# if !defined(ALPHA) && !defined(HPPA) && !defined(IA64)
void (*sa_restorer)(void);
-# endif /* !ALPHA && !HPPA */
+# endif /* !ALPHA && !HPPA && !IA64 */
#endif /* !MIPS */
/* Kernel treats sa_mask as an array of longs. */
unsigned long sa_mask[NSIG / sizeof(long) ? NSIG / sizeof(long) : 1];
--
2.0.0
More information about the Strace-devel
mailing list