[klibc] [klibc:master] alpha: Fix definitions of _NSIG and struct sigaction

klibc-bot for Ben Hutchings ben at decadent.org.uk
Wed Aug 26 19:54:06 PDT 2020


Commit-ID:  1cd11aaed1dece773c6b1ce2e99a0fe98b51321e
Gitweb:     http://git.kernel.org/?p=libs/klibc/klibc.git;a=commit;h=1cd11aaed1dece773c6b1ce2e99a0fe98b51321e
Author:     Ben Hutchings <ben at decadent.org.uk>
AuthorDate: Thu, 27 Aug 2020 01:58:19 +0100
Committer:  Ben Hutchings <ben at decadent.org.uk>
CommitDate: Thu, 27 Aug 2020 03:51:11 +0100

[klibc] alpha: Fix definitions of _NSIG and struct sigaction

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 at decadent.org.uk>

---
 usr/include/arch/alpha/klibc/archsignal.h | 78 ++++++++++++++++++++++++++++++-
 1 file changed, 76 insertions(+), 2 deletions(-)

diff --git a/usr/include/arch/alpha/klibc/archsignal.h b/usr/include/arch/alpha/klibc/archsignal.h
index 2193a352..78be832a 100644
--- a/usr/include/arch/alpha/klibc/archsignal.h
+++ b/usr/include/arch/alpha/klibc/archsignal.h
@@ -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


More information about the klibc mailing list