2023-08-16 22:26:55 +00:00
|
|
|
|
Index: v8/src/trap-handler/handler-inside-posix.cc
|
|
|
|
|
--- v8/src/trap-handler/handler-inside-posix.cc.orig
|
|
|
|
|
+++ v8/src/trap-handler/handler-inside-posix.cc
|
2024-05-20 13:42:05 +00:00
|
|
|
|
@@ -61,6 +61,8 @@ namespace trap_handler {
|
2023-08-16 22:26:55 +00:00
|
|
|
|
#define CONTEXT_REG(reg, REG) &uc->uc_mcontext->__ss.__##reg
|
|
|
|
|
#elif V8_OS_FREEBSD
|
|
|
|
|
#define CONTEXT_REG(reg, REG) &uc->uc_mcontext.mc_##reg
|
|
|
|
|
+#elif V8_OS_OPENBSD
|
|
|
|
|
+#define CONTEXT_REG(reg, REG) &uc->sc_##reg
|
|
|
|
|
#else
|
|
|
|
|
#error "Unsupported platform."
|
|
|
|
|
#endif
|
2024-05-20 13:42:05 +00:00
|
|
|
|
@@ -80,8 +82,12 @@ bool IsKernelGeneratedSignal(siginfo_t* info) {
|
2023-08-16 22:26:55 +00:00
|
|
|
|
// si_code at its default of 0 for signals that don’t originate in hardware.
|
|
|
|
|
// The other conditions are only relevant for Linux.
|
|
|
|
|
return info->si_code > 0 && info->si_code != SI_USER &&
|
|
|
|
|
- info->si_code != SI_QUEUE && info->si_code != SI_TIMER &&
|
|
|
|
|
- info->si_code != SI_ASYNCIO && info->si_code != SI_MESGQ;
|
|
|
|
|
+ info->si_code != SI_QUEUE && info->si_code != SI_TIMER
|
|
|
|
|
+#ifdef V8_OS_OPENBSD
|
|
|
|
|
+ ;
|
|
|
|
|
+#else
|
|
|
|
|
+ && info->si_code != SI_ASYNCIO && info->si_code != SI_MESGQ;
|
|
|
|
|
+#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class UnmaskOobSignalScope {
|