mirror of
https://git.freebsd.org/ports.git
synced 2025-05-01 11:06:39 -04:00
19 lines
989 B
C++
19 lines
989 B
C++
--- v8/src/libsampler/sampler.cc.orig 2025-04-04 08:52:13 UTC
|
|
+++ v8/src/libsampler/sampler.cc
|
|
@@ -520,6 +520,16 @@ void SignalHandler::FillRegisterState(void* context, R
|
|
state->pc = reinterpret_cast<void*>(mcontext.__gregs[_REG_PC]);
|
|
state->sp = reinterpret_cast<void*>(mcontext.__gregs[_REG_SP]);
|
|
state->fp = reinterpret_cast<void*>(mcontext.__gregs[_REG_FP]);
|
|
+#elif V8_HOST_ARCH_ARM64
|
|
+#ifdef __CHERI_PURE_CAPABILITY__
|
|
+ state->pc = reinterpret_cast<void*>(mcontext.mc_capregs.cap_elr);
|
|
+ state->sp = reinterpret_cast<void*>(mcontext.mc_capregs.cap_sp);
|
|
+ state->fp = reinterpret_cast<void*>(mcontext.mc_capregs.cap_x[29]);
|
|
+#else // !__CHERI_PURE_CAPABILITY__
|
|
+ state->pc = reinterpret_cast<void*>(mcontext.mc_gpregs.gp_elr);
|
|
+ state->sp = reinterpret_cast<void*>(mcontext.mc_gpregs.gp_sp);
|
|
+ state->fp = reinterpret_cast<void*>(mcontext.mc_gpregs.gp_x[29]);
|
|
+#endif // __CHERI_PURE_CAPABILITY__
|
|
#endif // V8_HOST_ARCH_*
|
|
#elif V8_OS_NETBSD
|
|
#if V8_HOST_ARCH_IA32
|