summary refs log tree commit diff stats
path: root/linux-user/signal.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux-user/signal.c')
-rw-r--r--linux-user/signal.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/linux-user/signal.c b/linux-user/signal.c
index 7f435c4606..a3022c2f04 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -873,18 +873,15 @@ static void handle_pending_signal(CPUArchState *cpu_env, int sig,
         }
 #endif
         /* prepare the stack frame of the virtual CPU */
-#if defined(TARGET_ABI_MIPSN32) || defined(TARGET_ABI_MIPSN64) \
-        || defined(TARGET_OPENRISC) || defined(TARGET_TILEGX) \
-        || defined(TARGET_PPC64) || defined(TARGET_HPPA) \
-        || defined(TARGET_NIOS2) || defined(TARGET_X86_64) \
-        || defined(TARGET_RISCV) || defined(TARGET_XTENSA)
-        /* These targets do not have traditional signals.  */
-        setup_rt_frame(sig, sa, &k->info, &target_old_set, cpu_env);
-#else
-        if (sa->sa_flags & TARGET_SA_SIGINFO)
+#if defined(TARGET_ARCH_HAS_SETUP_FRAME)
+        if (sa->sa_flags & TARGET_SA_SIGINFO) {
             setup_rt_frame(sig, sa, &k->info, &target_old_set, cpu_env);
-        else
+        } else {
             setup_frame(sig, sa, &target_old_set, cpu_env);
+        }
+#else
+        /* These targets do not have traditional signals.  */
+        setup_rt_frame(sig, sa, &k->info, &target_old_set, cpu_env);
 #endif
         if (sa->sa_flags & TARGET_SA_RESETHAND) {
             sa->_sa_handler = TARGET_SIG_DFL;