diff options
author | WaluigiWare64 <68647953+WaluigiWare64@users.noreply.github.com> | 2020-12-11 00:41:53 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-11 01:41:53 +0100 |
commit | a9223d6c0ad9024b609a99a355755c53b83a5bd3 (patch) | |
tree | 2a26684e575d513a8f8ecee1511ae6e9d4ddfcba | |
parent | 8530c099bca52e95a3ee5da12c43fc57b944bf5e (diff) |
Fix fastmem building on ARM64 Macs (#841)
-rw-r--r-- | src/ARMJIT_Memory.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/ARMJIT_Memory.cpp b/src/ARMJIT_Memory.cpp index ffc294f..33d6bcf 100644 --- a/src/ARMJIT_Memory.cpp +++ b/src/ARMJIT_Memory.cpp @@ -162,8 +162,13 @@ static void SigsegvHandler(int sig, siginfo_t* info, void* rawContext) #endif #else - desc.EmulatedFaultAddr = (u8*)context->uc_mcontext.fault_address - curArea; - desc.FaultPC = (u8*)context->uc_mcontext.pc; + #ifdef __APPLE__ + desc.EmulatedFaultAddr = (u8*)context->uc_mcontext->__es.__far - curArea; + desc.FaultPC = (u8*)context->uc_mcontext->__ss.__pc; + #else + desc.EmulatedFaultAddr = (u8*)context->uc_mcontext.fault_address - curArea; + desc.FaultPC = (u8*)context->uc_mcontext.pc; + #endif #endif if (ARMJIT_Memory::FaultHandler(desc)) @@ -175,7 +180,11 @@ static void SigsegvHandler(int sig, siginfo_t* info, void* rawContext) context->uc_mcontext.gregs[REG_RIP] = (u64)desc.FaultPC; #endif #else - context->uc_mcontext.pc = (u64)desc.FaultPC; + #ifdef __APPLE__ + context->uc_mcontext->__ss.__pc = (u64)desc.FaultPC; + #else + context->uc_mcontext.pc = (u64)desc.FaultPC; + #endif #endif return; } |