summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2022-12-11 20:12:18 +0100
committerGitHub <noreply@github.com>2022-12-11 20:12:18 +0100
commitfdd5190b4c70c75df923de8d77c8a0dcc10b125f (patch)
treefd3bd5637fe22d65d0c175fd7fabaf735ca6db4e /Source/Core
parent82e87cf7b9bd253a2e17d126fbf9adbcf8a844d3 (diff)
parent17c14ac4b9efe00c889c3a5727c841f9fe9499f1 (diff)
Merge pull request #11340 from merryhime/USE_SIGACTION_ON_APPLE
MachineContext: Fix USE_SIGACTION_ON_APPLE on arm64
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/MachineContext.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/Source/Core/Core/MachineContext.h b/Source/Core/Core/MachineContext.h
index 7e27d7a908..9d20c51ef3 100644
--- a/Source/Core/Core/MachineContext.h
+++ b/Source/Core/Core/MachineContext.h
@@ -78,6 +78,7 @@ typedef arm_thread_state64_t SContext;
#elif defined(__APPLE__)
#include <signal.h>
typedef _STRUCT_MCONTEXT64 SContext;
+#if _M_X86_64
#define CTX_RAX __ss.__rax
#define CTX_RBX __ss.__rbx
#define CTX_RCX __ss.__rcx
@@ -95,6 +96,14 @@ typedef _STRUCT_MCONTEXT64 SContext;
#define CTX_R14 __ss.__r14
#define CTX_R15 __ss.__r15
#define CTX_RIP __ss.__rip
+#elif _M_ARM_64
+#define CTX_REG(x) __ss.__x[x]
+#define CTX_LR __ss.__lr
+#define CTX_SP __ss.__sp
+#define CTX_PC __ss.__pc
+#else
+#error No context definition for architecture
+#endif
#elif defined(__linux__)
#include <signal.h>