parisc: Define sigset_t in parisc uapi header

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+
This commit is contained in:
Helge Deller 2024-04-27 19:43:51 +02:00 committed by Helge Deller
parent e67572cd22
commit 487fa28fa8
2 changed files with 10 additions and 12 deletions

View 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 */

View File

@ -57,10 +57,20 @@
#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;