summaryrefslogtreecommitdiffstats
path: root/include/asm-m68k/signal.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-m68k/signal.h')
-rw-r--r--include/asm-m68k/signal.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/include/asm-m68k/signal.h b/include/asm-m68k/signal.h
index 1f3466aff..5fa3fa67e 100644
--- a/include/asm-m68k/signal.h
+++ b/include/asm-m68k/signal.h
@@ -128,6 +128,13 @@ struct old_sigaction {
void (*sa_restorer)(void);
};
+struct sigaction {
+ __sighandler_t sa_handler;
+ unsigned long sa_flags;
+ void (*sa_restorer)(void);
+ sigset_t sa_mask; /* mask last for extensibility */
+};
+
struct k_sigaction {
struct sigaction sa;
};
@@ -173,9 +180,9 @@ extern __inline__ int __const_sigismember(sigset_t *set, int _sig)
extern __inline__ int __gen_sigismember(sigset_t *set, int _sig)
{
- char ret;
- __asm__("bftst %1{%2,#1}\n\t sne %0"
- : "=rm"(ret) : "m"(*set), "id"((_sig-1) ^ 31) : "cc");
+ int ret;
+ __asm__("bfextu %1{%2,#1},%0"
+ : "=d"(ret) : "m"(*set), "id"((_sig-1) ^ 31));
return ret;
}