diff options
Diffstat (limited to 'devel/electron37/files/patch-v8_src_libsampler_sampler.cc')
-rw-r--r-- | devel/electron37/files/patch-v8_src_libsampler_sampler.cc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/devel/electron37/files/patch-v8_src_libsampler_sampler.cc b/devel/electron37/files/patch-v8_src_libsampler_sampler.cc new file mode 100644 index 000000000000..d59878cf2003 --- /dev/null +++ b/devel/electron37/files/patch-v8_src_libsampler_sampler.cc @@ -0,0 +1,19 @@ +--- v8/src/libsampler/sampler.cc.orig 2025-06-30 07:04:30 UTC ++++ v8/src/libsampler/sampler.cc +@@ -527,6 +527,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 |