linux-user/hppa: Set FPE_CONDTRAP for COND
authorRichard Henderson <richard.henderson@linaro.org>
Fri, 7 Jan 2022 21:32:27 +0000 (13:32 -0800)
committerLaurent Vivier <laurent@vivier.eu>
Tue, 11 Jan 2022 17:40:43 +0000 (18:40 +0100)
This si_code was changed in 75abf64287cab, for linux 4.17.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220107213243.212806-9-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
linux-user/hppa/cpu_loop.c
linux-user/syscall_defs.h

index a65e1571a0cff047905db0d6de9cfd0db4f34fb1..a576d1a249fd3ce228be7777c052ca0b7b93a384 100644 (file)
@@ -156,6 +156,8 @@ void cpu_loop(CPUHPPAState *env)
             force_sig_fault(TARGET_SIGFPE, TARGET_FPE_INTOVF, env->iaoq_f);
             break;
         case EXCP_COND:
+            force_sig_fault(TARGET_SIGFPE, TARGET_FPE_CONDTRAP, env->iaoq_f);
+            break;
         case EXCP_ASSIST:
             force_sig_fault(TARGET_SIGFPE, 0, env->iaoq_f);
             break;
index 510a8c1ab5850573eb902e5815eec5a3987a52d0..f23f0a2178f8be85ca52e013791e6e6fbf359f5d 100644 (file)
@@ -688,6 +688,7 @@ typedef struct target_siginfo {
 #define TARGET_FPE_FLTINV      (7)  /* floating point invalid operation */
 #define TARGET_FPE_FLTSUB      (8)  /* subscript out of range */
 #define TARGET_FPE_FLTUNK      (14) /* undiagnosed fp exception */
+#define TARGET_FPE_CONDTRAP    (15) /* trap on condition */
 
 /*
  * SIGSEGV si_codes