--- coregrind/m_libcsetjmp.c.orig
+++ coregrind/m_libcsetjmp.c
@@ -37,7 +37,8 @@
 /* See include/pub_tool_libcsetjmp.h for background and rationale. */
 
 /* The alternative implementations are for ppc{32,64}-linux and
-   {amd64,x86}-{linux,darwin,solaris,freebsd}.  See #259977.  That leaves only
+   {amd64,x86}-{linux,darwin,solaris,freebsd,openbsd}.  See #259977.
+   That leaves only
    {arm,s390x}-linux using the gcc builtins now.
 */
 
@@ -377,16 +378,18 @@
 #endif /* VGP_ppc64be_linux */
 
 
-/* -------- amd64-{linux,darwin,solaris,freebsd} -------- */
+/* -------- amd64-{linux,darwin,solaris,freebsd,openbsd} -------- */
 
 #if defined(VGP_amd64_linux) || defined(VGP_amd64_darwin) || \
-    defined(VGP_amd64_solaris) || defined(VGP_amd64_freebsd)
+    defined(VGP_amd64_solaris) || defined(VGP_amd64_freebsd) || \
+    defined(VGP_amd64_openbsd)
 
 __asm__(
 ".text"  "\n"
 ""       "\n"
 
-#if defined(VGP_amd64_linux) || defined(VGP_amd64_solaris) || defined(VGP_amd64_freebsd)
+#if defined(VGP_amd64_linux) || defined(VGP_amd64_solaris) || \
+    defined(VGP_amd64_freebsd) || defined(VGP_amd64_openbsd)
 ".global VG_MINIMAL_SETJMP"  "\n"  // rdi = jmp_buf
 "VG_MINIMAL_SETJMP:"  "\n"
 
@@ -423,7 +426,8 @@
 ""       "\n"
 
 
-#if defined(VGP_amd64_linux) || defined(VGP_amd64_solaris) || defined(VGP_amd64_freebsd)
+#if defined(VGP_amd64_linux) || defined(VGP_amd64_solaris) || \
+    defined(VGP_amd64_freebsd) || defined(VGP_amd64_openbsd)
 ".global VG_MINIMAL_LONGJMP"  "\n"
 "VG_MINIMAL_LONGJMP:"  "\n"    // rdi = jmp_buf
 
@@ -471,19 +475,21 @@
 #endif
 );
 
-#endif /* VGP_amd64_linux || VGP_amd64_darwin || VGP_amd64_solaris || VGP_amd64_freebsd */
+#endif /* VGP_amd64_linux || VGP_amd64_darwin || VGP_amd64_solaris || VGP_amd64_freebsd || VGP_amd64_openbsd */
 
 
-/* -------- x86-{linux,darwin,solaris,freebsd} -------- */
+/* -------- x86-{linux,darwin,solaris,freebsd,openbsd} -------- */
 
 #if defined(VGP_x86_linux) || defined(VGP_x86_darwin) || \
-    defined(VGP_x86_solaris) || defined(VGP_x86_freebsd)
+    defined(VGP_x86_solaris) || defined(VGP_x86_freebsd) || \
+    defined(VGP_x86_openbsd)
 
 __asm__(
 ".text"  "\n"
 ""       "\n"
 
-#if defined(VGP_x86_linux) || defined(VGP_x86_solaris) || defined(VGP_x86_freebsd)
+#if defined(VGP_x86_linux) || defined(VGP_x86_solaris) || \
+    defined(VGP_x86_freebsd) || defined(VGP_x86_openbsd)
 ".global VG_MINIMAL_SETJMP"  "\n"  // eax = jmp_buf
 "VG_MINIMAL_SETJMP:"  "\n"
 
@@ -514,7 +520,8 @@
 ""       "\n"
 
 
-#if defined(VGP_x86_linux) || defined(VGP_x86_solaris) || defined(VGP_x86_freebsd)
+#if defined(VGP_x86_linux) || defined(VGP_x86_solaris) || \
+    defined(VGP_x86_freebsd) || defined(VGP_x86_openbsd)
 ".global VG_MINIMAL_LONGJMP"  "\n"
 "VG_MINIMAL_LONGJMP:"  "\n"    // eax = jmp_buf
 
@@ -548,7 +555,7 @@
 #endif
 );
 
-#endif /* VGP_x86_linux || VGP_x86_darwin || VGP_x86_solaris || VGP_x86_freebsd */
+#endif /* VGP_x86_linux || VGP_x86_darwin || VGP_x86_solaris || VGP_x86_freebsd  || VGP_x86_openbsd */
 
 #if defined(VGP_mips32_linux)
 
