Index: src/flags/flag-definitions.h
--- src/flags/flag-definitions.h.orig
+++ src/flags/flag-definitions.h
@@ -3418,7 +3418,13 @@ DEFINE_BOOL(regexp_optimization, true, "generate optim
 DEFINE_BOOL(regexp_unroll, true, "unroll small {} repeats when optimizing")
 DEFINE_BOOL(regexp_quick_check, true,
             "generate quickcheck code when optimizing")
+#ifdef V8_OS_OPENBSD
+// OpenBSD: Irregexp JIT rewrites a C++ return address, which conflicts with
+// retguard. Force bytecode interpretation and make the choice immutable.
+DEFINE_BOOL(regexp_interpret_all, true, "interpret all regexp code")
+#else
 DEFINE_BOOL(regexp_interpret_all, false, "interpret all regexp code")
+#endif
 #ifdef V8_TARGET_BIG_ENDIAN
 #define REGEXP_PEEPHOLE_OPTIMIZATION_BOOL false
 #else
