parisc: Define sigset_t in parisc uapi header
authorHelge Deller <deller@kernel.org>
Sat, 27 Apr 2024 17:43:51 +0000 (19:43 +0200)
committerHelge Deller <deller@gmx.de>
Mon, 29 Apr 2024 11:02:31 +0000 (13:02 +0200)
The util-linux debian package fails to build on parisc, because
sigset_t isn't defined in asm/signal.h when included from userspace.
Move the sigset_t type from internal header to the uapi header to fix the
build.

Link: https://buildd.debian.org/status/fetch.php?pkg=util-linux&arch=hppa&ver=2.40-7&stamp=1714163443&raw=0
Signed-off-by: Helge Deller <deller@gmx.de>
Cc: stable@vger.kernel.org # v6.0+
arch/parisc/include/asm/signal.h
arch/parisc/include/uapi/asm/signal.h

index 715c96ba2ec81c2907ead07ffd21fbf79a0fb0cb..e84883c6b4c7a00a1772a648aff23c133ef4f347 100644 (file)
@@ -4,23 +4,11 @@
 
 #include <uapi/asm/signal.h>
 
-#define _NSIG          64
-/* bits-per-word, where word apparently means 'long' not 'int' */
-#define _NSIG_BPW      BITS_PER_LONG
-#define _NSIG_WORDS    (_NSIG / _NSIG_BPW)
-
 # ifndef __ASSEMBLY__
 
 /* Most things should be clean enough to redefine this at will, if care
    is taken to make libc match.  */
 
-typedef unsigned long old_sigset_t;            /* at least 32 bits */
-
-typedef struct {
-       /* next_signal() assumes this is a long - no choice */
-       unsigned long sig[_NSIG_WORDS];
-} sigset_t;
-
 #include <asm/sigcontext.h>
 
 #endif /* !__ASSEMBLY */
index 8e4895c5ea5d37085f5d9ad3b215589583ffb351..40d7a574c5dd194d5cef197b5c0b89695bf4fb13 100644 (file)
 
 #include <asm-generic/signal-defs.h>
 
+#define _NSIG          64
+#define _NSIG_BPW      (sizeof(unsigned long) * 8)
+#define _NSIG_WORDS    (_NSIG / _NSIG_BPW)
+
 # ifndef __ASSEMBLY__
 
 #  include <linux/types.h>
 
+typedef unsigned long old_sigset_t;    /* at least 32 bits */
+
+typedef struct {
+       unsigned long sig[_NSIG_WORDS];
+} sigset_t;
+
 /* Avoid too many header ordering problems.  */
 struct siginfo;