If having '-flto' in compilation flags, gcc fails to compile protobuf-c: t/generated-code2/cxx-generate-packed-data fails to generate test-full-cxx-output.inc Compiling using '-fno-lto' or using clang is OK Reproducible: Always Steps to Reproduce: 1. Add '-flto' to compilation flags 2. Try to build dev-libs/protobuf-c using gcc 3. Actual Results: Build of test programs fails Expected Results: Build to succeed. Disabling lto when using gcc seems required
Created attachment 825773 [details] output from emerge --info =dev-libs/protobuf-c-1.4.1 Note that this is the merged version, with '-fno-lto' flags set.
Created attachment 825775 [details] Emerge failure using gcc and '-flto' flags build log
libtool: link: x86_64-pc-linux-gnu-g++ -std=c++17 -march=native -fstack-protector-all -O2 -pipe -fdiagnostics-color=always -frecord-gcc-switches -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -Wformat -Werror=format-security -Wl,-O1 -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -Wl,--defsym=__gentoo_check_ldflags__=0 -o t/generated-code2/cxx-generate-packed-data t/generated-code2/cxx_generate_packed_data-cxx-generate-packed-data.o t/generated_code2_cxx_generate_packed_data-test-full.pb.o protobuf-c/t_generated_code2_cxx_generate_packed_data-protobuf-c.pb.o -Wl,--as-needed -lprotobuf ./t/generated-code2/cxx-generate-packed-data > ./t/generated-code2/test-full-cxx-output.inc make all-am There is one change here to upgrade to newer protobuf and e.g. compile with a newer C++ std, which may or may not have made a difference?