[LTP] [PATCH] sighold02: Fix muslc builds by removing __SIGRTMIN
Petr Vorel
pvorel@suse.cz
Mon Apr 25 13:08:20 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):
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