Le 26/05/2021 à 19:16, Philippe Mathieu-Daudé a écrit : > On 5/26/21 6:39 AM, Michael Forney wrote: >> Since "linux-user: fix use of SIGRTMIN" (6bc024e7), qemu removed >> use of __SIGRTMAX except for in this QEMU_BUILD_BUG_ON assert. >> Presumably, this check is to ensure that the loop in signal_table_init >> from SIGRTMIN to SIGRTMAX falls within the bounds of >> host_to_target_signal_table (_NSIG). >> >> However, _NSIG is already defined to be the one larger than the >> largest signal supported by the system (as specified in the upcoming >> POSIX revision[0]), so the check is unnecessary. >> >> musl libc does not define __SIGRTMAX, so removing this check fixes >> one of the last remaining errors when building qemu. >> >> [0] https://www.austingroupbugs.net/view.php?id=741 >> >> Signed-off-by: Michael Forney <mfor...@mforney.org> >> --- >> If you prefer, I can send an alternate patch to leave the >> QEMU_BUILD_BUG_ON, but guard it by #ifdef __SIGRTMAX. > > This looks safer, personally I prefer, but let's see what the > maintainers prefer.
I agree, the reason of the check is explained in the comment above. I think it's safer to keep the QEMU_BUILD_BUG_ON(). In the past we had a confusion between _NSIG, NSIG and TARGET_NSIG. See 9fcff3a67f2b ("linux-user: fix TARGET_NSIG and _NSIG uses") Thanks, Laurent