diff --git a/core/linux/context.cpp b/core/linux/context.cpp index d420c6885..cf0601328 100644 --- a/core/linux/context.cpp +++ b/core/linux/context.cpp @@ -61,7 +61,11 @@ void context_segfault(rei_host_context_t* reictx, void* segfault_ctx, bool to_se #error HOST_OS #endif #elif HOST_CPU == CPU_X64 - bicopy(reictx->pc, MCTX(.gregs[REG_RIP]), to_segfault); + #if HOST_OS == OS_LINUX + bicopy(reictx->pc, MCTX(.gregs[REG_RIP]), to_segfault); + #elif HOST_OS == OS_DARWIN + bicopy(reictx->pc, MCTX(->__ss.__rip), to_segfault); + #endif #elif HOST_CPU == CPU_MIPS bicopy(reictx->pc, MCTX(.pc), to_segfault); #elif HOST_CPU == CPU_GENERIC diff --git a/shell/apple/emulator-osx/emulator-osx/osx-main.mm b/shell/apple/emulator-osx/emulator-osx/osx-main.mm index de67352c8..f95bdd38e 100644 --- a/shell/apple/emulator-osx/emulator-osx/osx-main.mm +++ b/shell/apple/emulator-osx/emulator-osx/osx-main.mm @@ -88,6 +88,7 @@ void gl_swap() { } +void common_linux_setup(); int dc_init(int argc,wchar* argv[]); void dc_run(); @@ -107,6 +108,7 @@ void* emuthread(void*) { set_user_config_dir("."); set_user_data_dir("."); } + common_linux_setup(); char* argv[] = { "reicast" }; dc_init(1,argv); diff --git a/shell/apple/emulator-osx/reicast-osx.xcodeproj/project.pbxproj b/shell/apple/emulator-osx/reicast-osx.xcodeproj/project.pbxproj index 8e558c1e7..fe8162a83 100644 --- a/shell/apple/emulator-osx/reicast-osx.xcodeproj/project.pbxproj +++ b/shell/apple/emulator-osx/reicast-osx.xcodeproj/project.pbxproj @@ -1659,7 +1659,6 @@ GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - TARGET_NO_EXCEPTIONS, TARGET_NO_WEBUI, TARGET_NO_NIXPROF, TARGET_NO_COREIO_HTTP, @@ -1705,7 +1704,6 @@ ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_PREPROCESSOR_DEFINITIONS = ( - TARGET_NO_EXCEPTIONS, TARGET_NO_WEBUI, TARGET_NO_NIXPROF, TARGET_NO_COREIO_HTTP,