Since the rt_sigaction syscall on hppa doesn't have a sa_restorer,
do not include it in the kernel struct.
We also have to undefine SA_RESTORER so that code doesn't try to
use it. The headers will export this, but the syscall doesn't
actually respect it.
* signal.c (SA_RESTORER): Undefine when HPPA is defined.
(struct new_sigaction): Disable sa_restorer on hppa.
# endif
#endif
+/* HPPA defines this in their headers, but doesn't actually have it,
+ so we have to delete the define. */
+#ifdef HPPA
+# undef SA_RESTORER
+#endif
+
#include "xlat/sigact_flags.h"
#include "xlat/sigprocmaskcmds.h"
#else
void (*__sa_handler)(int);
unsigned long sa_flags;
-# ifndef ALPHA
+# if !defined(ALPHA) || !defined(HPPA)
void (*sa_restorer)(void);
-# endif /* !ALPHA */
+# endif /* !ALPHA || !HPPA */
#endif /* !MIPS */
/* Kernel treats sa_mask as an array of longs. */
unsigned long sa_mask[NSIG / sizeof(long) ? NSIG / sizeof(long) : 1];