diff options
| author | kaixindeken <ra.zhang@hl-it.cn> | 2024-05-13 18:38:04 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-13 12:38:04 +0200 |
| commit | 1491270f1d2dcf37cb9e201ac69ab7a04585afc5 (patch) | |
| tree | ef4a43e368278bbacf6b75773f850ea81a3bba89 | |
| parent | 46dfaab639b7d2a5af79c288160bfe92b1fd6961 (diff) | |
| download | box64-1491270f1d2dcf37cb9e201ac69ab7a04585afc5.tar.gz box64-1491270f1d2dcf37cb9e201ac69ab7a04585afc5.zip | |
[RV64_DYNAREC] Fix SIGABRT handling in x87cache testing (#1498)
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_helper.c | 4 |
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) |