linux-user: avoid treading on gprof's SIGPROF signals
authorAlex Bennée <alex.bennee@linaro.org>
Thu, 2 May 2019 14:58:46 +0000 (15:58 +0100)
committerLaurent Vivier <laurent@vivier.eu>
Fri, 10 May 2019 10:44:23 +0000 (12:44 +0200)
The guest tends to get confused when it receives signals it doesn't
know about. Given the gprof magic has also set up it's own handler we
would do well to avoid stomping on it as well.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20190502145846.26226-1-alex.bennee@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
linux-user/signal.c

index e2c0b3717357e9dfc6e2d05517cae502fc552afa..44b2d3b35a0d8855122d9284c5dba47ce6ba7590 100644 (file)
@@ -508,6 +508,11 @@ void signal_init(void)
     act.sa_flags = SA_SIGINFO;
     act.sa_sigaction = host_signal_handler;
     for(i = 1; i <= TARGET_NSIG; i++) {
+#ifdef TARGET_GPROF
+        if (i == SIGPROF) {
+            continue;
+        }
+#endif
         host_sig = target_to_host_signal(i);
         sigaction(host_sig, NULL, &oact);
         if (oact.sa_sigaction == (void *)SIG_IGN) {