Index: contrib/llvm-project/compiler-rt/lib/builtins/floatunsidf.c =================================================================== --- contrib/llvm-project/compiler-rt/lib/builtins/floatunsidf.c +++ contrib/llvm-project/compiler-rt/lib/builtins/floatunsidf.c @@ -17,7 +17,12 @@ #include "int_lib.h" -COMPILER_RT_ABI fp_t __floatunsidf(unsigned int a) { +/* + * Newer versions of GCC are expecting that this will not be hidden, and use it + * in some optimizations. + */ +COMPILER_RT_ABI fp_t __attribute__((visibility("default"))) +__floatunsidf(unsigned int a) { const int aWidth = sizeof a * CHAR_BIT; Index: lib/googletest/gtest_main/tests/Makefile =================================================================== --- lib/googletest/gtest_main/tests/Makefile +++ lib/googletest/gtest_main/tests/Makefile @@ -1,6 +1,7 @@ # $FreeBSD$ .include +.include .PATH: ${GOOGLETEST_SRCROOT}/src ${GOOGLETEST_SRCROOT}/test @@ -20,7 +21,13 @@ GTESTS+= gtest-typed-test_test GTESTS+= gtest_skip_test GTESTS+= gtest_skip_in_environment_setup_test +.if ${COMPILER_TYPE} != "gcc" || ${COMPILER_VERSION} >= 100000 +# gtest_unittest uses ostreams in some way that external gcc will not cope +# with at the moment, leading to build failures. Don't build it for now on +# gcc9 and lower, and we can re-evaluate this with newer versions of gcc as +# well as newer versions of googletest. GTESTS+= gtest_unittest +.endif CXXFLAGS+= -I${GOOGLETEST_SRCROOT}/include CXXFLAGS+= -I${GOOGLETEST_SRCROOT}