diff options
Diffstat (limited to 'deps/v8/src/trap-handler/handler-inside-posix.cc')
-rw-r--r-- | deps/v8/src/trap-handler/handler-inside-posix.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/deps/v8/src/trap-handler/handler-inside-posix.cc b/deps/v8/src/trap-handler/handler-inside-posix.cc index 17af3d75dc..39d6e0d3ae 100644 --- a/deps/v8/src/trap-handler/handler-inside-posix.cc +++ b/deps/v8/src/trap-handler/handler-inside-posix.cc @@ -91,7 +91,12 @@ class UnmaskOobSignalScope { #ifdef V8_TRAP_HANDLER_VIA_SIMULATOR // This is the address where we continue on a failed "ProbeMemory". It's defined // in "handler-outside-simulator.cc". -extern "C" char v8_probe_memory_continuation[]; +extern char probe_memory_continuation[] +#if V8_OS_DARWIN + asm("_v8_simulator_probe_memory_continuation"); +#else + asm("v8_simulator_probe_memory_continuation"); +#endif #endif // V8_TRAP_HANDLER_VIA_SIMULATOR bool TryHandleSignal(int signum, siginfo_t* info, void* context) { @@ -149,7 +154,7 @@ bool TryHandleSignal(int signum, siginfo_t* info, void* context) { auto* return_reg = CONTEXT_REG(rax, RAX); *return_reg = landing_pad; // Continue at the memory probing continuation. - *context_ip = reinterpret_cast<uintptr_t>(&v8_probe_memory_continuation); + *context_ip = reinterpret_cast<uintptr_t>(&probe_memory_continuation); #else if (!TryFindLandingPad(fault_addr, &landing_pad)) return false; |