cleanup redundancy in bits/signal.h versions
authorRich Felker <dalias@aerifal.cx>
Tue, 20 Sep 2011 00:02:12 +0000 (20:02 -0400)
committerRich Felker <dalias@aerifal.cx>
Tue, 20 Sep 2011 00:02:12 +0000 (20:02 -0400)
arch/arm/bits/signal.h
arch/i386/bits/signal.h
arch/x86_64/bits/signal.h
include/signal.h

index 1a1e7fc..16f029b 100644 (file)
@@ -1,17 +1,8 @@
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
 
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
 
-typedef struct
-#ifdef _GNU_SOURCE
-sigcontext
-#endif
-{
-       unsigned long trap_no, error_code, oldmask;
-       unsigned long arm_r0, arm_r1, arm_r2, arm_r3;
-       unsigned long arm_r4, arm_r5, arm_r6, arm_r7;
-       unsigned long arm_r8, arm_r9, arm_r10, arm_fp;
-       unsigned long arm_ip, arm_sp, arm_lr, arm_pc;
-       unsigned long arm_cpsr, fault_address;
+typedef struct {
+       unsigned long __regs[21];
 } mcontext_t;
 
 typedef struct __ucontext {
 } mcontext_t;
 
 typedef struct __ucontext {
@@ -23,106 +14,6 @@ typedef struct __ucontext {
        unsigned long uc_regspace[128];
 } ucontext_t;
 
        unsigned long uc_regspace[128];
 } ucontext_t;
 
-struct __siginfo
-{
-       int si_signo;
-       int si_errno;
-       int si_code;
-       union
-       {
-               char __pad[128 - 3*sizeof(int)];
-               struct {
-                       pid_t si_pid;
-                       uid_t si_uid;
-                       union sigval si_sigval;
-               } __rt;
-               struct {
-                       unsigned int si_timer1;
-                       unsigned int si_timer2;
-               } __timer;
-               struct {
-                       pid_t si_pid;
-                       uid_t si_uid;
-                       int si_status;
-                       clock_t si_utime;
-                       clock_t si_stime;
-               } __sigchld;
-               struct {
-                       void *si_addr;
-               } __sigfault;
-               struct {
-                       long int si_band;
-                       int si_fd;
-               } __sigpoll;
-       } __si_fields;
-};
-
-#define si_pid     __si_fields.__sigchld.si_pid
-#define si_uid     __si_fields.__sigchld.si_uid
-#define si_status  __si_fields.__sigchld.si_status
-#define si_utime   __si_fields.__sigchld.si_utime
-#define si_stime   __si_fields.__sigchld.si_stime
-#define si_value   __si_fields.__rt.si_sigval
-#define si_addr    __si_fields.__sigfault.si_addr
-#define si_band    __si_fields.__sigpoll.si_band
-
-#define SI_ASYNCNL (-60)
-#define SI_TKILL (-6)
-#define SI_SIGIO (-5)
-#define SI_ASYNCIO (-4)
-#define SI_MESGQ (-3)
-#define SI_TIMER (-2)
-#define SI_QUEUE (-1)
-#define SI_USER 0
-#define SI_KERNEL 128
-
-#define FPE_INTDIV 1
-#define FPE_INTOVF 2
-#define FPE_FLTDIV 3
-#define FPE_FLTOVF 4
-#define FPE_FLTUNT 5
-#define FPE_FLTRES 6
-#define FPE_FLTINV 7
-#define FPE_FLTSUB 8
-
-#define ILL_ILLOPC 1
-#define ILL_ILLOPN 2
-#define ILL_ILLADR 3
-#define ILL_ILLTRP 4
-#define ILL_PRVOPC 5
-#define ILL_PRVREG 6
-#define ILL_COPROC 7
-#define ILL_BADSTK 8
-
-#define SEGV_MAPERR 1
-#define SEGV_ACCERR 2
-
-#define BUS_ADRALN 1
-#define BUS_ADRERR 2
-#define BUS_OBJERR 3
-
-#define CLD_EXITED 1
-#define CLD_KILLED 2
-#define CLD_DUMPED 3
-#define CLD_TRAPPED 4
-#define CLD_STOPPED 5
-#define CLD_CONTINUED 6
-
-#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
-#define TRAP_BRKPT 1
-#define TRAP_TRACE 2
-#define POLL_IN 1
-#define POLL_OUT 2
-#define POLL_MSG 3
-#define POLL_ERR 4
-#define POLL_PRI 5
-#define POLL_HUP 6
-#define SS_ONSTACK    1
-#define SS_DISABLE    2
-#define MINSIGSTKSZ 2048
-#define SIGSTKSZ 8192
-#endif
-
 #define SA_NOCLDSTOP  1
 #define SA_NOCLDWAIT  2
 #define SA_SIGINFO    4
 #define SA_NOCLDSTOP  1
 #define SA_NOCLDWAIT  2
 #define SA_SIGINFO    4
@@ -132,20 +23,20 @@ struct __siginfo
 #define SA_RESETHAND  0x80000000
 #define SA_RESTORER   0x04000000
 
 #define SA_RESETHAND  0x80000000
 #define SA_RESTORER   0x04000000
 
-#define SIG_BLOCK     0
-#define SIG_UNBLOCK   1
-#define SIG_SETMASK   2
-
-#endif
-
 #ifdef _GNU_SOURCE
 #ifdef _GNU_SOURCE
+struct sigcontext
+{
+       unsigned long trap_no, error_code, oldmask;
+       unsigned long arm_r0, arm_r1, arm_r2, arm_r3;
+       unsigned long arm_r4, arm_r5, arm_r6, arm_r7;
+       unsigned long arm_r8, arm_r9, arm_r10, arm_fp;
+       unsigned long arm_ip, arm_sp, arm_lr, arm_pc;
+       unsigned long arm_cpsr, fault_address;
+};
 #define NSIG      64
 #endif
 
 #define NSIG      64
 #endif
 
-#define SIG_ERR  ((void (*)(int))-1)
-#define SIG_DFL  ((void (*)(int)) 0)
-#define SIG_IGN  ((void (*)(int)) 1)
-#define SIG_HOLD ((void (*)(int)) 2)
+#endif
 
 #define SIGHUP    1
 #define SIGINT    2
 
 #define SIGHUP    1
 #define SIGINT    2
index 74d9d02..6a55f94 100644 (file)
@@ -22,6 +22,15 @@ typedef struct __ucontext {
        struct __fpstate __fpregs_mem;
 } ucontext_t;
 
        struct __fpstate __fpregs_mem;
 } ucontext_t;
 
+#define SA_NOCLDSTOP  1
+#define SA_NOCLDWAIT  2
+#define SA_SIGINFO    4
+#define SA_ONSTACK    0x08000000
+#define SA_RESTART    0x10000000
+#define SA_NODEFER    0x40000000
+#define SA_RESETHAND  0x80000000
+#define SA_RESTORER   0x04000000
+
 #ifdef _GNU_SOURCE
 struct sigcontext {
        unsigned short gs, __gsh, fs, __fsh, es, __esh, ds, __dsh;
 #ifdef _GNU_SOURCE
 struct sigcontext {
        unsigned short gs, __gsh, fs, __fsh, es, __esh, ds, __dsh;
@@ -33,131 +42,10 @@ struct sigcontext {
        struct __fpstate *fpstate;
        unsigned long oldmask, cr2;
 };
        struct __fpstate *fpstate;
        unsigned long oldmask, cr2;
 };
-#endif
-
-struct __siginfo
-{
-       int si_signo;
-       int si_errno;
-       int si_code;
-       union
-       {
-               char __pad[128 - 3*sizeof(int)];
-               struct {
-                       pid_t si_pid;
-                       uid_t si_uid;
-                       union sigval si_sigval;
-               } __rt;
-               struct {
-                       unsigned int si_timer1;
-                       unsigned int si_timer2;
-               } __timer;
-               struct {
-                       pid_t si_pid;
-                       uid_t si_uid;
-                       int si_status;
-                       clock_t si_utime;
-                       clock_t si_stime;
-               } __sigchld;
-               struct {
-                       void *si_addr;
-               } __sigfault;
-               struct {
-                       long int si_band;
-                       int si_fd;
-               } __sigpoll;
-       } __si_fields;
-};
-
-#define si_pid     __si_fields.__sigchld.si_pid
-#define si_uid     __si_fields.__sigchld.si_uid
-#define si_status  __si_fields.__sigchld.si_status
-#define si_utime   __si_fields.__sigchld.si_utime
-#define si_stime   __si_fields.__sigchld.si_stime
-#define si_value   __si_fields.__rt.si_sigval
-#define si_addr    __si_fields.__sigfault.si_addr
-#define si_band    __si_fields.__sigpoll.si_band
-
-#define SI_ASYNCNL (-60)
-#define SI_TKILL (-6)
-#define SI_SIGIO (-5)
-#define SI_ASYNCIO (-4)
-#define SI_MESGQ (-3)
-#define SI_TIMER (-2)
-#define SI_QUEUE (-1)
-#define SI_USER 0
-#define SI_KERNEL 128
-
-#define FPE_INTDIV 1
-#define FPE_INTOVF 2
-#define FPE_FLTDIV 3
-#define FPE_FLTOVF 4
-#define FPE_FLTUNT 5
-#define FPE_FLTRES 6
-#define FPE_FLTINV 7
-#define FPE_FLTSUB 8
-
-#define ILL_ILLOPC 1
-#define ILL_ILLOPN 2
-#define ILL_ILLADR 3
-#define ILL_ILLTRP 4
-#define ILL_PRVOPC 5
-#define ILL_PRVREG 6
-#define ILL_COPROC 7
-#define ILL_BADSTK 8
-
-#define SEGV_MAPERR 1
-#define SEGV_ACCERR 2
-
-#define BUS_ADRALN 1
-#define BUS_ADRERR 2
-#define BUS_OBJERR 3
-
-#define CLD_EXITED 1
-#define CLD_KILLED 2
-#define CLD_DUMPED 3
-#define CLD_TRAPPED 4
-#define CLD_STOPPED 5
-#define CLD_CONTINUED 6
-
-#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
-#define TRAP_BRKPT 1
-#define TRAP_TRACE 2
-#define POLL_IN 1
-#define POLL_OUT 2
-#define POLL_MSG 3
-#define POLL_ERR 4
-#define POLL_PRI 5
-#define POLL_HUP 6
-#define SS_ONSTACK    1
-#define SS_DISABLE    2
-#define MINSIGSTKSZ 2048
-#define SIGSTKSZ 8192
-#endif
-
-#define SA_NOCLDSTOP  1
-#define SA_NOCLDWAIT  2
-#define SA_SIGINFO    4
-#define SA_ONSTACK    0x08000000
-#define SA_RESTART    0x10000000
-#define SA_NODEFER    0x40000000
-#define SA_RESETHAND  0x80000000
-#define SA_RESTORER   0x04000000
-
-#define SIG_BLOCK     0
-#define SIG_UNBLOCK   1
-#define SIG_SETMASK   2
-
-#endif
-
-#ifdef _GNU_SOURCE
 #define NSIG      64
 #endif
 
 #define NSIG      64
 #endif
 
-#define SIG_ERR  ((void (*)(int))-1)
-#define SIG_DFL  ((void (*)(int)) 0)
-#define SIG_IGN  ((void (*)(int)) 1)
-#define SIG_HOLD ((void (*)(int)) 2)
+#endif
 
 #define SIGHUP    1
 #define SIGINT    2
 
 #define SIGHUP    1
 #define SIGINT    2
index ddebe90..ecc4e9f 100644 (file)
@@ -22,125 +22,6 @@ typedef struct __ucontext {
        struct __fpstate __fpregs_mem;
 } ucontext_t;
 
        struct __fpstate __fpregs_mem;
 } ucontext_t;
 
-#ifdef _GNU_SOURCE
-struct sigcontext {
-       unsigned long r8, r9, r10, r11, r12, r13, r14, r15;
-       unsigned long rdi, rsi, rbp, rbx, rdx, rax, rcx, rsp, rip, eflags;
-       unsigned short cs, gs, fs, __pad0;
-       unsigned long err, trapno, oldmask, cr2;
-       struct __fpstate *fpstate;
-       unsigned long __reserved1[8];
-};
-#endif
-
-struct __siginfo
-{
-       int si_signo;
-       int si_errno;
-       int si_code;
-       union
-       {
-               int __pad[(128 - 4*sizeof(int)) / sizeof(int)];
-               struct {
-                       pid_t si_pid;
-                       uid_t si_uid;
-               } __kill;
-               struct {
-                       void *si_timerid;
-                       int si_overrun;
-                       char __pad[sizeof(uid_t) - sizeof(int)];
-                       union sigval si_sigval;
-                       int si_private;
-               } __timer;
-               struct {
-                       pid_t si_pid;
-                       uid_t si_uid;
-                       union sigval si_sigval;
-               } __rt;
-               struct {
-                       pid_t si_pid;
-                       uid_t si_uid;
-                       int si_status;
-                       clock_t si_utime;
-                       clock_t si_stime;
-               } __sigchld;
-               struct {
-                       void *si_addr;
-                       short addr_lsb;
-               } __sigfault;
-               struct {
-                       long si_band;
-                       int si_fd;
-               } __sigpoll;
-       } __si_fields;
-};
-
-#define si_pid     __si_fields.__sigchld.si_pid
-#define si_uid     __si_fields.__sigchld.si_uid
-#define si_status  __si_fields.__sigchld.si_status
-#define si_utime   __si_fields.__sigchld.si_utime
-#define si_stime   __si_fields.__sigchld.si_stime
-#define si_value   __si_fields.__rt.si_sigval
-#define si_addr    __si_fields.__sigfault.si_addr
-#define si_band    __si_fields.__sigpoll.si_band
-
-#define SI_ASYNCNL (-60)
-#define SI_TKILL (-6)
-#define SI_SIGIO (-5)
-#define SI_ASYNCIO (-4)
-#define SI_MESGQ (-3)
-#define SI_TIMER (-2)
-#define SI_QUEUE (-1)
-#define SI_USER 0
-#define SI_KERNEL 128
-
-#define FPE_INTDIV 1
-#define FPE_INTOVF 2
-#define FPE_FLTDIV 3
-#define FPE_FLTOVF 4
-#define FPE_FLTUNT 5
-#define FPE_FLTRES 6
-#define FPE_FLTINV 7
-#define FPE_FLTSUB 8
-
-#define ILL_ILLOPC 1
-#define ILL_ILLOPN 2
-#define ILL_ILLADR 3
-#define ILL_ILLTRP 4
-#define ILL_PRVOPC 5
-#define ILL_PRVREG 6
-#define ILL_COPROC 7
-#define ILL_BADSTK 8
-
-#define SEGV_MAPERR 1
-#define SEGV_ACCERR 2
-
-#define BUS_ADRALN 1
-#define BUS_ADRERR 2
-#define BUS_OBJERR 3
-
-#define CLD_EXITED 1
-#define CLD_KILLED 2
-#define CLD_DUMPED 3
-#define CLD_TRAPPED 4
-#define CLD_STOPPED 5
-#define CLD_CONTINUED 6
-
-#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
-#define TRAP_BRKPT 1
-#define TRAP_TRACE 2
-#define POLL_IN 1
-#define POLL_OUT 2
-#define POLL_MSG 3
-#define POLL_ERR 4
-#define POLL_PRI 5
-#define POLL_HUP 6
-#define SS_ONSTACK    1
-#define SS_DISABLE    2
-#define MINSIGSTKSZ 2048
-#define SIGSTKSZ 8192
-#endif
-
 #define SA_NOCLDSTOP  1
 #define SA_NOCLDWAIT  2
 #define SA_SIGINFO    4
 #define SA_NOCLDSTOP  1
 #define SA_NOCLDWAIT  2
 #define SA_SIGINFO    4
@@ -150,20 +31,19 @@ struct __siginfo
 #define SA_RESETHAND  0x80000000
 #define SA_RESTORER   0x04000000
 
 #define SA_RESETHAND  0x80000000
 #define SA_RESTORER   0x04000000
 
-#define SIG_BLOCK     0
-#define SIG_UNBLOCK   1
-#define SIG_SETMASK   2
-
-#endif
-
 #ifdef _GNU_SOURCE
 #ifdef _GNU_SOURCE
+struct sigcontext {
+       unsigned long r8, r9, r10, r11, r12, r13, r14, r15;
+       unsigned long rdi, rsi, rbp, rbx, rdx, rax, rcx, rsp, rip, eflags;
+       unsigned short cs, gs, fs, __pad0;
+       unsigned long err, trapno, oldmask, cr2;
+       struct __fpstate *fpstate;
+       unsigned long __reserved1[8];
+};
 #define NSIG      64
 #endif
 
 #define NSIG      64
 #endif
 
-#define SIG_ERR  ((void (*)(int))-1)
-#define SIG_DFL  ((void (*)(int)) 0)
-#define SIG_IGN  ((void (*)(int)) 1)
-#define SIG_HOLD ((void (*)(int)) 2)
+#endif
 
 #define SIGHUP    1
 #define SIGINT    2
 
 #define SIGHUP    1
 #define SIGINT    2
index 9cebddd..6e22bdf 100644 (file)
@@ -8,10 +8,6 @@ extern "C" {
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
 
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
 
-#ifdef _GNU_SOURCE
-#define __siginfo siginfo
-#endif
-
 #define __NEED_size_t
 #define __NEED_pid_t
 #define __NEED_uid_t
 #define __NEED_size_t
 #define __NEED_pid_t
 #define __NEED_uid_t
@@ -25,6 +21,57 @@ extern "C" {
 
 #include <bits/alltypes.h>
 
 
 #include <bits/alltypes.h>
 
+#define SIG_BLOCK     0
+#define SIG_UNBLOCK   1
+#define SIG_SETMASK   2
+
+#define SIG_ERR  ((void (*)(int))-1)
+#define SIG_DFL  ((void (*)(int)) 0)
+#define SIG_IGN  ((void (*)(int)) 1)
+#define SIG_HOLD ((void (*)(int)) 2)
+
+#define SI_ASYNCNL (-60)
+#define SI_TKILL (-6)
+#define SI_SIGIO (-5)
+#define SI_ASYNCIO (-4)
+#define SI_MESGQ (-3)
+#define SI_TIMER (-2)
+#define SI_QUEUE (-1)
+#define SI_USER 0
+#define SI_KERNEL 128
+
+#define FPE_INTDIV 1
+#define FPE_INTOVF 2
+#define FPE_FLTDIV 3
+#define FPE_FLTOVF 4
+#define FPE_FLTUNT 5
+#define FPE_FLTRES 6
+#define FPE_FLTINV 7
+#define FPE_FLTSUB 8
+
+#define ILL_ILLOPC 1
+#define ILL_ILLOPN 2
+#define ILL_ILLADR 3
+#define ILL_ILLTRP 4
+#define ILL_PRVOPC 5
+#define ILL_PRVREG 6
+#define ILL_COPROC 7
+#define ILL_BADSTK 8
+
+#define SEGV_MAPERR 1
+#define SEGV_ACCERR 2
+
+#define BUS_ADRALN 1
+#define BUS_ADRERR 2
+#define BUS_OBJERR 3
+
+#define CLD_EXITED 1
+#define CLD_KILLED 2
+#define CLD_DUMPED 3
+#define CLD_TRAPPED 4
+#define CLD_STOPPED 5
+#define CLD_CONTINUED 6
+
 struct sigaction {
        union {
                void (*sa_handler)(int);
 struct sigaction {
        union {
                void (*sa_handler)(int);
@@ -48,6 +95,50 @@ union sigval {
        void *sival_ptr;
 };
 
        void *sival_ptr;
 };
 
+#ifdef _GNU_SOURCE
+struct siginfo
+#else
+struct __siginfo
+#endif
+{
+       int si_signo, si_errno, si_code;
+       union {
+               char __pad[128 - 3*sizeof(int)];
+               struct {
+                       pid_t si_pid;
+                       uid_t si_uid;
+                       union sigval si_sigval;
+               } __rt;
+               struct {
+                       unsigned int si_timer1, si_timer2;
+               } __timer;
+               struct {
+                       pid_t si_pid;
+                       uid_t si_uid;
+                       int si_status;
+                       clock_t si_utime, si_stime;
+               } __sigchld;
+               struct {
+                       void *si_addr;
+               } __sigfault;
+               struct {
+                       long si_band;
+                       int si_fd;
+               } __sigpoll;
+       } __si_fields;
+};
+#define si_pid     __si_fields.__sigchld.si_pid
+#define si_uid     __si_fields.__sigchld.si_uid
+#define si_status  __si_fields.__sigchld.si_status
+#define si_utime   __si_fields.__sigchld.si_utime
+#define si_stime   __si_fields.__sigchld.si_stime
+#define si_value   __si_fields.__rt.si_sigval
+#define si_addr    __si_fields.__sigfault.si_addr
+#define si_band    __si_fields.__sigpoll.si_band
+#define si_fd      __si_fields.__sigpoll.si_fd
+#define si_timer1  __si_fields.__timer.si_timer1
+#define si_timer2  __si_fields.__timer.si_timer2
+
 struct sigevent {
        union sigval sigev_value;
        int sigev_signo;
 struct sigevent {
        union sigval sigev_value;
        int sigev_signo;
@@ -101,6 +192,18 @@ int siginterrupt(int, int);
 int sigpause(int);
 int sigrelse(int);
 void (*sigset(int, void (*)(int)))(int);
 int sigpause(int);
 int sigrelse(int);
 void (*sigset(int, void (*)(int)))(int);
+#define TRAP_BRKPT 1
+#define TRAP_TRACE 2
+#define POLL_IN 1
+#define POLL_OUT 2
+#define POLL_MSG 3
+#define POLL_ERR 4
+#define POLL_PRI 5
+#define POLL_HUP 6
+#define SS_ONSTACK    1
+#define SS_DISABLE    2
+#define MINSIGSTKSZ 2048
+#define SIGSTKSZ 8192
 #endif
 
 #ifdef _GNU_SOURCE
 #endif
 
 #ifdef _GNU_SOURCE
@@ -108,6 +211,7 @@ typedef void (*sighandler_t)(int);
 void (*bsd_signal(int, void (*)(int)))(int);
 int sigisemptyset(const sigset_t *);
 #define SA_NOMASK SA_NODEFER
 void (*bsd_signal(int, void (*)(int)))(int);
 int sigisemptyset(const sigset_t *);
 #define SA_NOMASK SA_NODEFER
+#define SA_ONESHOT SA_RESETHAND
 #endif
 
 #include <bits/signal.h>
 #endif
 
 #include <bits/signal.h>