[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2] linux-user: Disable static assert involving __SIGRTMAX if it
From: |
Michael Forney |
Subject: |
[PATCH v2] linux-user: Disable static assert involving __SIGRTMAX if it is missing |
Date: |
Wed, 26 May 2021 12:02:03 -0700 |
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, it is not critical, since _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]).
musl libc does not define __SIGRTMAX, so disabling this check when
it is missing fixes one of the last remaining errors when building
qemu.
[0] https://www.austingroupbugs.net/view.php?id=741
Signed-off-by: Michael Forney <mforney@mforney.org>
---
Changes since v2:
* Guard check by #ifdef __SIGRTMAX instead of removing it.
linux-user/signal.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/linux-user/signal.c b/linux-user/signal.c
index 9016896dcd..0f19c59dee 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -38,7 +38,9 @@ static void host_signal_handler(int host_signum, siginfo_t
*info,
* Signal number 0 is reserved for use as kill(pid, 0), to test whether
* a process exists without sending it a signal.
*/
+#ifdef __SIGRTMAX
QEMU_BUILD_BUG_ON(__SIGRTMAX + 1 != _NSIG);
+#endif
static uint8_t host_to_target_signal_table[_NSIG] = {
[SIGHUP] = TARGET_SIGHUP,
[SIGINT] = TARGET_SIGINT,
--
2.31.1