From 42353c9698526c231ebebf13c1e9aa8d6ff51527 Mon Sep 17 00:00:00 2001 From: kanjitalk755 Date: Mon, 27 Nov 2017 23:55:12 +0900 Subject: [PATCH] improve stability --- SheepShaver/src/CrossPlatform/sigsegv.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/SheepShaver/src/CrossPlatform/sigsegv.cpp b/SheepShaver/src/CrossPlatform/sigsegv.cpp index 04b066a48..47a6adcdf 100644 --- a/SheepShaver/src/CrossPlatform/sigsegv.cpp +++ b/SheepShaver/src/CrossPlatform/sigsegv.cpp @@ -2646,6 +2646,14 @@ static bool handle_badaccess(SIGSEGV_FAULT_HANDLER_ARGLIST_1) x86_thread_state64_t *ts = &SIP->thr_state; uint8_t *rip = (uint8_t *)ts->__rip; switch (rip[0]) { + case 0xf: + if (rip[1] == 0xb7 && rip[2] == 0) { + ts->__rax = safeLoad(ts->__rax); + ts->__rip += 3; + mach_set_thread_state(SIP); + return true; + } + break; case 0x44: if (rip[1] == 0xf && rip[2] == 0xb6 && rip[3] == 0x20) { ts->__r12 = safeLoad(ts->__rax);