It fails building one of the autogenerated source which forces tail
call optimization on clang13 (actually in llvm somewhere, "musttail"
feature) which is only available for certain arches, and causes a hard
failure on mips64 (and probably other arches aswell).

One can disable it for more arches I guess, but I have only tested it
on my octeon, built the package and then mosh (which depends on it)
and tried mosh as a client which worked.
mosh's "make test" fails in one test about
80columns-emulation-something, didn't feel all relevant to protobufs,
but I don't know for certain about that.

Since I am a bit uncertain about cvs-diffs that create dirs and diffs
from empty files, the patch is available at:
http://c66.it.su.se:8080/obsd/patch-src_google_protobuf_port_def.inc

and inline here, but I feel certain gmail will mangle it:

$ more patches/patch-src_google_protobuf_port_def.inc
--- 
/usr/ports/pobj/protobuf-3.21.12/protobuf-3.21.12/src/google/protobuf/port_def.inc.orig
+++ 
/usr/ports/pobj/protobuf-3.21.12/protobuf-3.21.12/src/google/protobuf/port_def.inc
@@ -254,7 +254,7 @@
 #ifdef PROTOBUF_TAILCALL
 #error PROTOBUF_TAILCALL was previously defined
 #endif
-#if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \
+#if __has_cpp_attribute(clang::musttail) && !defined(__arm__) &&
!defined(__mips64) && \
     !defined(_ARCH_PPC) && !defined(__wasm__) &&                 \
     !(defined(_MSC_VER) && defined(_M_IX86)) &&                  \
     !(defined(__NDK_MAJOR__)

^^^^^^
Simply adding a mips64 to the list of arches to skip.

-- 
May the most significant bit of your life be positive.

Reply via email to