about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorkaixindeken <ra.zhang@hl-it.cn>2024-05-13 18:38:04 +0800
committerGitHub <noreply@github.com>2024-05-13 12:38:04 +0200
commit1491270f1d2dcf37cb9e201ac69ab7a04585afc5 (patch)
treeef4a43e368278bbacf6b75773f850ea81a3bba89
parent46dfaab639b7d2a5af79c288160bfe92b1fd6961 (diff)
downloadbox64-1491270f1d2dcf37cb9e201ac69ab7a04585afc5.tar.gz
box64-1491270f1d2dcf37cb9e201ac69ab7a04585afc5.zip
[RV64_DYNAREC] Fix SIGABRT handling in x87cache testing (#1498)
-rw-r--r--src/dynarec/rv64/dynarec_rv64_helper.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_helper.c b/src/dynarec/rv64/dynarec_rv64_helper.c
index 87fe9448..7aa51a74 100644
--- a/src/dynarec/rv64/dynarec_rv64_helper.c
+++ b/src/dynarec/rv64/dynarec_rv64_helper.c
@@ -893,6 +893,10 @@ int x87_do_push(dynarec_rv64_t* dyn, int ninst, int s1, int t)
             ret=dyn->e.x87reg[i]=fpu_get_reg_x87(dyn, t, 0);
             dyn->e.extcache[EXTIDX(ret)].t = X87_ST0;
         }
+    if(ret==-1) {
+        MESSAGE(LOG_DUMP, "Incoherent x87 stack cache, aborting\n");
+        dyn->abort = 1;
+    }
     return ret;
 }
 void x87_do_push_empty(dynarec_rv64_t* dyn, int ninst, int s1)