https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123326
Bug ID: 123326
Summary: Bootstrap broken on FreeBSD by 62c126db6b60170
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Severity: blocker
Priority: P3
Component: bootstrap
Assignee: unassigned at gcc dot gnu.org
Reporter: kargl at gcc dot gnu.org
Target Milestone: ---
After bisecting master, I have determined that ...
commit 62c126db6b6017011dcbe6945aab371ab48f8ded
Author: Jakub Jelinek <[email protected]>
AuthorDate: Thu Dec 11 19:37:22 2025 +0100
Commit: Jakub Jelinek <[email protected]>
CommitDate: Thu Dec 11 19:54:44 2025 +0100
libstdc++: Implement C++26 P3378R2 - constexpr exception types
The following patch attempts to implement the C++26 P3378R2 - constexpr
exception types paper.
This is quite complicated, because most of these classes which should
breaks bootstrap on FreeBSD. The "This is quite complicated,...' leads
me to believe that I have no idea how to fix this.
% cd gcc
% git checkout `git rev-list -n 1 --before="2025-12-11 11:00" master`
Note: switching to '62c126db6b6017011dcbe6945aab371ab48f8ded'.
% cd ../obj
% rm -rf *
% ../gcc/configure --prefix=$HOME/work/15 \
--enable-languages=c,c++,fortran,lto \
--enable-bootstrap --disable-nls --disable-libssp \
--disable-multilib --without-libintl
% gmake -j15 bootstrap
...
/usr/local/bin/ld:
/home/kargl/gcc/obj/prev-x86_64-unknown-freebsd16.0/libstdc++-v3/src/.libs/libstdc++.a(format.o):
in function `operator()':
/home/kargl/gcc/obj/x86_64-unknown-freebsd16.0/libstdc++-v3/src/c++20/../../../../../gcc/libstdc++-v3/src/c++20/format.cc:124:(.text._ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv+0x2e6):
undefined reference to `libiconv'
collect2: error: ld returned 1 exit status
gmake[3]: *** [Makefile:3437: build/genpreds] Error 1
gmake[3]: Leaving directory '/home/kargl/gcc/obj/gcc'
gmake[2]: *** [Makefile:5155: all-stage2-gcc] Error 2
gmake[2]: Leaving directory '/home/kargl/gcc/obj'
gmake[1]: *** [Makefile:26292: stage2-bubble] Error 2
gmake[1]: Leaving directory '/home/kargl/gcc/obj'
gmake: *** [Makefile:1124: all] Error 2
Note libiconv.a lives in /usr/local/lib.