Source: protobuf
Version: 3.21.12-11
Severity: serious
Tags: ftbfs forky sid patch

https://buildd.debian.org/status/logs.php?pkg=protobuf&ver=3.21.12-12

...
google/protobuf/generated_message_tctable_lite.cc: In static member function 
'static const char* 
google::protobuf::internal::TcParser::MpString(google::protobuf::MessageLite*, 
const char*, google::protobuf::internal::ParseContext*, const 
google::protobuf::internal::TcParseTableBase*, uint64_t, 
google::protobuf::internal::TcFieldData)':
google/protobuf/generated_message_tctable_lite.cc:1666:46: error: cannot 
tail-call: target is not able to optimize the call into a sibling call
 1666 |     PROTOBUF_MUSTTAIL return MpRepeatedString(PROTOBUF_TC_PARAM_PASS);
      |                              ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
...


musttail support is new in gcc 15:
https://gcc.gnu.org/gcc-15/changes.html

The attached patch restores the gcc 14 status quo of not using musttail.
Description: Don't use musttail since it causes FTBFS on multiple architectures
Author: Adrian Bunk <[email protected]>

--- protobuf-3.21.12.orig/src/google/protobuf/port_def.inc
+++ 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 0 && __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \
     !defined(_ARCH_PPC) && !defined(__wasm__) &&                 \
     !(defined(_MSC_VER) && defined(_M_IX86)) &&                  \
     !(defined(__NDK_MAJOR__) && __NDK_MAJOR <= 24)

Reply via email to