https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114085
Bug ID: 114085 Summary: Internal (cross) compiler error when building libstdc++ for the H8/300 family Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: jdx at o2 dot pl Target Milestone: --- Host: x86_64-pc-linux-gnu Target: h8300-elf Created attachment 57519 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57519&action=edit Preprocessed libstdc++-v3/src/c++11/cxx11-locale-inst.cc I get the following error when I try to build rev. 98702303: [...] make[5]: Leaving directory '/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/src/c++98' Making all in c++11 make[5]: Entering directory '/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/src/c++11' [...] /bin/bash ../../libtool --tag CXX --tag disable-shared --mode=compile /home/jdx/testgcc/builddir/./gcc/xgcc -shared-libgcc -B/home/jdx/testgcc/builddir/./gcc -nostdinc++ -L/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/src -L/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/src/.libs -L/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/libsupc++/.libs -nostdinc -B/home/jdx/testgcc/builddir/h8300-elf/newlib/ -isystem /home/jdx/testgcc/builddir/h8300-elf/newlib/targ-include -isystem /home/jdx/testgcc/combosrc/newlib/libc/include -B/home/jdx/testgcc/installdir/h8300-elf/bin/ -B/home/jdx/testgcc/installdir/h8300-elf/lib/ -isystem /home/jdx/testgcc/installdir/h8300-elf/include -isystem /home/jdx/testgcc/installdir/h8300-elf/sys-include -L/home/jdx/testgcc/builddir/./ld -I/home/jdx/testgcc/combosrc/libstdc++-v3/../libgcc -I/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/include/h8300-elf -I/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/include -I/home/jdx/testgcc/combosrc/libstdc++-v3/libsupc++ -std=gnu++11 -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi=2 -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=cxx11-locale-inst.lo -g -O2 -c -o cxx11-locale-inst.lo ../../../../../combosrc/libstdc++-v3/src/c++11/cxx11-locale-inst.cc libtool: compile: /home/jdx/testgcc/builddir/./gcc/xgcc -shared-libgcc -B/home/jdx/testgcc/builddir/./gcc -nostdinc++ -L/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/src -L/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/src/.libs -L/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/libsupc++/.libs -nostdinc -B/home/jdx/testgcc/builddir/h8300-elf/newlib/ -isystem /home/jdx/testgcc/builddir/h8300-elf/newlib/targ-include -isystem /home/jdx/testgcc/combosrc/newlib/libc/include -B/home/jdx/testgcc/installdir/h8300-elf/bin/ -B/home/jdx/testgcc/installdir/h8300-elf/lib/ -isystem /home/jdx/testgcc/installdir/h8300-elf/include -isystem /home/jdx/testgcc/installdir/h8300-elf/sys-include -L/home/jdx/testgcc/builddir/./ld -I/home/jdx/testgcc/combosrc/libstdc++-v3/../libgcc -I/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/include/h8300-elf -I/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/include -I/home/jdx/testgcc/combosrc/libstdc++-v3/libsupc++ -std=gnu++11 -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi=2 -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=cxx11-locale-inst.lo -g -O2 -c ../../../../../combosrc/libstdc++-v3/src/c++11/cxx11-locale-inst.cc -o cxx11-locale-inst.o In file included from /home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/include/bits/locale_facets_nonio.h:2069, from /home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/include/locale:43, from ../../../../../combosrc/libstdc++-v3/src/c++11/locale-inst.cc:38, from ../../../../../combosrc/libstdc++-v3/src/c++11/cxx11-locale-inst.cc:37: /home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/include/bits/locale_facets_nonio.tcc: In member function '_InIter std::__cxx11::money_get<_CharT, _InIter>::_M_extract(iter_type, iter_type, std::ios_base&, std::ios_base::iostate&, std::string&) const [with bool _Intl = true; _CharT = char; _InIter = std::istreambuf_iterator<char, std::char_traits<char> >]': /home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/include/bits/locale_facets_nonio.tcc:350:7: error: unable to generate reloads for: 350 | } | ^ (insn 1414 10225 9370 143 (set (mem/c:QI (plus:SI (reg/f:SI 11 fp) (const_int -157 [0xffffffffffffff63])) [112 %sfp+-157 S1 A8]) (xor:QI (mem/c:QI (plus:SI (reg/f:SI 11 fp) (const_int -157 [0xffffffffffffff63])) [112 %sfp+-157 S1 A8]) (const_int 1 [0x1]))) "/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/include/bits/locale_facets_nonio.tcc":207:12 discrim 2 358 {xorqi3_1} (nil)) during RTL pass: reload /home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/include/bits/locale_facets_nonio.tcc:350:7: internal compiler error: in curr_insn_transform, at lra-constraints.cc:4234 0x610a81 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../combosrc/gcc/rtl-error.cc:108 0x60937a curr_insn_transform ../../combosrc/gcc/lra-constraints.cc:4234 0xc246b6 lra_constraints(bool) ../../combosrc/gcc/lra-constraints.cc:5432 0xc12542 lra(_IO_FILE*, int) ../../combosrc/gcc/lra.cc:2442 0xbccff7 do_reload ../../combosrc/gcc/ira.cc:5973 0xbccff7 execute ../../combosrc/gcc/ira.cc:6161 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. make[5]: *** [Makefile:681: cxx11-locale-inst.lo] Error 1 make[5]: Leaving directory '/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/src/c++11' make[4]: *** [Makefile:797: all-recursive] Error 1 make[4]: Leaving directory '/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3/src' make[3]: *** [Makefile:577: all-recursive] Error 1 make[3]: Leaving directory '/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3' make[2]: *** [Makefile:502: all] Error 2 make[2]: Leaving directory '/home/jdx/testgcc/builddir/h8300-elf/libstdc++-v3' make[1]: *** [Makefile:17124: all-target-libstdc++-v3] Error 2 make[1]: Leaving directory '/home/jdx/testgcc/builddir' make: *** [Makefile:1056: all] Error 2 Configuration command: ../combosrc/configure --prefix=$CWD/installdir --target=h8300-elf --disable-nls --disable-threads --disable-tls --enable-checking=release --enable-languages=c,c++ --with-newlib --enable-multilib --enable-lto --disable-shared --enable-static --disable-libstdcxx-pch --without-libstdcxx-zoneinfo --with-system-zlib --with-pkgversion="$PKGVER" And here comes the interesting part – this happens when I build gcc using combined source tree as described here: https://gcc.gnu.org/simtest-howto.html. When I build gcc & Co "sequentially" from my local git repositories, i.e. binutils in the first step, C cross compiler in 2nd, newlib in 3rd and finally C and C++ cross comiler in the 4th step everything seems to be fine. Configuration command in the 4th step is exactly the same as mentioned above.