[LTP] [PATCH] sighold02: Fix muslc builds by removing __SIGRTMIN
Petr Vorel
pvorel@suse.cz
Mon Apr 25 13:09:48 CEST 2022
> Hi all,
> > Hi!
> > > The minimum real-time signal is always 32 according to
> > > signal(7). Meanwhile __SIGRTMIN is not defined in all lib C
> > > implementations.
> > > Signed-off-by: Richard Palethorpe <rpalethorpe@suse.com>
> > > ---
> > > testcases/kernel/syscalls/sighold/sighold02.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > > diff --git a/testcases/kernel/syscalls/sighold/sighold02.c b/testcases/kernel/syscalls/sighold/sighold02.c
> > > index daa86192e..1cfb7688b 100644
> > > --- a/testcases/kernel/syscalls/sighold/sighold02.c
> > > +++ b/testcases/kernel/syscalls/sighold/sighold02.c
> > > @@ -33,7 +33,7 @@ static int sigs_map[NUMSIGS];
> > > static int skip_sig(int sig)
> > > {
> > > - if (sig >= __SIGRTMIN && sig < SIGRTMIN)
> > > + if (sig >= 32 && sig < SIGRTMIN)
> > > return 1;
> > Looks like __SIGRTMIN is defined to 32 for all architectures glibc
> > supports, so this should be pretty much safe.
> > Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
> Well, we have __SIGRTMIN 32 fallback definition in include/lapi/signal.h,
> we use it in few tests. It was used in old variant, but you removed it during
> rewrite in 38e69985cb2707a056f9c86a90c8570c721e6a7d.
> BTW I looked whether we could use SIGRTMIN instead of underscore variants,
> I suppose we can't (looks like SIGRTMIN is 32 + something):
Ah, looking at the code "if (sig >= __SIGRTMIN && sig < SIGRTMIN)",
we need both underscore and non-underscore.
Let's go back to use lapi again.
Kind regards,
Petr
> musl:
> #define SIGRTMIN (__libc_current_sigrtmin())
> src/signal/sigrtmin.c
> #include <signal.h>
> int __libc_current_sigrtmin()
> {
> return 35;
> }
> glibc:
> static int current_rtmin = __SIGRTMIN + RESERVED_SIGRT;
> (current_rtmin is used in __libc_current_sigrtmin(), RESERVED_SIGRT is defined 0 and 2)
> Kind regards,
> Petr
More information about the ltp
mailing list