Index: src/google/protobuf/port_def.inc
--- src/google/protobuf/port_def.inc.orig
+++ src/google/protobuf/port_def.inc
@@ -228,7 +228,8 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
 #endif
 #if ABSL_HAVE_CPP_ATTRIBUTE(clang::musttail) && !defined(__arm__) &&  \
     !defined(_ARCH_PPC) && !defined(__wasm__) &&                      \
-    !(defined(_MSC_VER) && defined(_M_IX86)) && !defined(__i386__)
+    !(defined(_MSC_VER) && defined(_M_IX86)) && !defined(__i386__) && \
+    !defined(__mips64__)
 // Compilation fails on ARM32: b/195943306
 // Compilation fails on powerpc64le: b/187985113
 // Compilation fails on X86 Windows:
@@ -780,7 +781,7 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
 #undef FALSE
 #endif  // _WIN32
 
-#ifdef __APPLE__
+#ifdef __APPLE__
 // Inconvenient macro names from /usr/include/mach/boolean.h in some macOS SDKs.
 #pragma push_macro("TRUE")
 #undef TRUE
@@ -804,7 +805,7 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3),
 #undef GID_MAX
 #endif  // defined(ANDROID) || defined(__ANDROID__)
 
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
 // Inconvenient macro names from /usr/include/sys/param.h.
 #pragma push_macro("TRUE")
 #undef TRUE
