[klibc] alpha: Fix definitions of _NSIG and struct sigaction
authorBen Hutchings <ben@decadent.org.uk>
Thu, 27 Aug 2020 00:58:19 +0000 (01:58 +0100)
committerThorsten Glaser <tg@mirbsd.de>
Wed, 26 May 2021 22:12:10 +0000 (23:12 +0100)
Origin: https://git.kernel.org/pub/scm/libs/klibc/klibc.git/commit/?id=1cd11aaed1dece773c6b1ce2e99a0fe98b51321e

We use the RT signals API, but include the kernel UAPI header
that defines _NSIG and struct sigaction for the old API.

Copy over all the definitions and fix those two.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Gbp-Pq: Name 0001-klibc-alpha-Fix-definitions-of-_NSIG-and-struct-siga.patch

usr/include/arch/alpha/klibc/archsignal.h

index 2193a352e8f2bb4899e4db4eb3d29ce42faac613..78be832aa344e88ae71bd28e03a4993052b014ca 100644 (file)
@@ -8,7 +8,81 @@
 #ifndef _KLIBC_ARCHSIGNAL_H
 #define _KLIBC_ARCHSIGNAL_H
 
-#include <asm/signal.h>
-/* No special stuff for this architecture */
+/*
+ * This is identical to <asm/signal.h>, *except* for _NSIG and struct
+ * sigaction, where it has the old definition and we need the new (RT)
+ * definition.
+ */
+
+struct siginfo;
+
+#define NSIG   64
+
+typedef unsigned long sigset_t;
+
+#define SIGHUP          1
+#define SIGINT          2
+#define SIGQUIT                 3
+#define SIGILL          4
+#define SIGTRAP                 5
+#define SIGABRT                 6
+#define SIGEMT          7
+#define SIGFPE          8
+#define SIGKILL                 9
+#define SIGBUS         10
+#define SIGSEGV                11
+#define SIGSYS         12
+#define SIGPIPE                13
+#define SIGALRM                14
+#define SIGTERM                15
+#define SIGURG         16
+#define SIGSTOP                17
+#define SIGTSTP                18
+#define SIGCONT                19
+#define SIGCHLD                20
+#define SIGTTIN                21
+#define SIGTTOU                22
+#define SIGIO          23
+#define SIGXCPU                24
+#define SIGXFSZ                25
+#define SIGVTALRM      26
+#define SIGPROF                27
+#define SIGWINCH       28
+#define SIGINFO                29
+#define SIGUSR1                30
+#define SIGUSR2                31
+
+#define SIGPOLL                SIGIO
+#define SIGPWR         SIGINFO
+#define SIGIOT         SIGABRT
+
+#define SA_ONSTACK     0x00000001
+#define SA_RESTART     0x00000002
+#define SA_NOCLDSTOP   0x00000004
+#define SA_NODEFER     0x00000008
+#define SA_RESETHAND   0x00000010
+#define SA_NOCLDWAIT   0x00000020
+#define SA_SIGINFO     0x00000040
+
+#define SA_ONESHOT     SA_RESETHAND
+#define SA_NOMASK      SA_NODEFER
+
+#define MINSIGSTKSZ    4096
+#define SIGSTKSZ       16384
+
+#define SIG_BLOCK      1
+#define SIG_UNBLOCK    2
+#define SIG_SETMASK    3
+
+#include <asm-generic/signal-defs.h>
+
+struct sigaction {
+       union {
+               __sighandler_t  sa_handler;
+               void            (*sa_sigaction)(int, struct siginfo *, void *);
+       };
+        unsigned long   sa_flags;
+        sigset_t        sa_mask;
+};
 
 #endif