On 29.09.22 09:06, Jakub Jelinek wrote: My recent change to enable _Float{16,32,64,128,32x,64x,128x} for C++ apparently broke bootstrap on some Debian/Ubuntu setups. Those multiarch targets put some headers into /usr/include/x86_64-linux-gnu/bits/ etc. subdirectory instead of /usr/include/bits/. ... Bootstrapped/regtested on x86_64-linux (Debian on GCCFarm, though with the /usr/include/bits -> x86_64-linux-gnu/bits symlink). Ok for trunk? I have now bootstrapped on ppc64le with Ubuntu 18.04.3 LTS (bionic) with glibc 2.27-3ubuntu1 This glibc is too old for the '# if __LDBL_MANT_DIG__ == 113"' issue reported by Joseph as that line was added one version later in glibc 2.28. But it did have the bootstrap issue (only affecting the -B... / build, the installed one was okay - for reasons why, see PR). Thus, my boostrap only tested this patch - and not the __LDBL_MANT_DIG__ part. Result: Bootstrapping passed and I get for cd $BUILD echo '#include ' > foo.c gcc/xgcc -B`pwd`/gcc -v -E -o foo.i foo.c grep floatn.h foo.i ... /tmp/gcc-build/gcc/cc1 ... \ -iprefix /tmp/tburnus-gcc-test/gcc/../lib/gcc/powerpc64le-unknown-linux-gnu/13.0.0/ \ -isystem /tmp/tburnus-gcc-test/gcc/include \ -isystem /tmp/tburnus-gcc-test/gcc/include-fixed/powerpc64le-linux-gnu \ -isystem /tmp/tburnus-gcc-test/gcc/include-fixed ... #include "..." search starts here: #include <...> search starts here: /tmp/gcc-build/gcc/include /tmp/gcc-build/gcc/include-fixed/powerpc64le-linux-gnu /tmp/gcc-build/gcc/include-fixed /usr/local/include /usr/include/powerpc64le-linux-gnu /usr/include End of search list. ... # 1 "/tmp/gcc-build/gcc/include-fixed/powerpc64le-linux-gnu/bits/floatn.h" 1 3 4 * * * And with the installed version: #include "..." search starts here: #include <...> search starts here: /tmp/gcc-inst/lib/gcc/powerpc64le-unknown-linux-gnu/13.0.0/include /usr/local/include /tmp/gcc-inst/include /tmp/gcc-inst/lib/gcc/powerpc64le-unknown-linux-gnu/13.0.0/include-fixed/powerpc64le-linux-gnu /tmp/gcc-inst/lib/gcc/powerpc64le-unknown-linux-gnu/13.0.0/include-fixed /usr/include/powerpc64le-linux-gnu /usr/include End of search list. ... # 1 "/tmp/gcc-inst/lib/gcc/powerpc64le-unknown-linux-gnu/13.0.0/include-fixed/powerpc64le-linux-gnu/bits/floatn.h" 1 3 4 ... Thanks for the fix! Tobias 2022-09-29 Jakub Jelinek PR bootstrap/107059 * cppdefault.cc (cpp_include_defaults): If SYSROOT_HEADERS_SUFFIX_SPEC isn't defined, add FIXED_INCLUDE_DIR entry with multilib flag 2 before FIXED_INCLUDE_DIR entry with multilib flag 0. * gcc.cc (do_spec_1): If multiarch_dir, add include-fixed/multiarch_dir paths before include-fixed paths. ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955