https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102389
Bug ID: 102389 Summary: [12 Regression] --with-build-config=bootstrap-lto bootstrap is broken due to r12-3491 Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: build, lto Severity: normal Priority: P3 Component: bootstrap Assignee: unassigned at gcc dot gnu.org Reporter: pinskia at gcc dot gnu.org Target Milestone: --- checking locale.h presence... libtool: link: nm .libs/lto-plugin.o | | /bin/sed 's/.* //' | sort | uniq > .libs/liblto_plugin.exp ./libtool: eval: line 1118: syntax error near unexpected token `|' ./libtool: eval: line 1118: `nm .libs/lto-plugin.o | | /bin/sed 's/.* //' | sort | uniq > .libs/liblto_plugin.exp' Makefile:466: recipe for target 'liblto_plugin.la' failed make[4]: *** [liblto_plugin.la] Error 2 ----- CUT ---- After r12-3491-g9e58de3ce00, nm is used but libtool's configure breaks (it looks like it was always broken, just we did not use that feature of libtool until now): configure:7427: checking command to parse nm output from /home/ubuntu/src/upstream-gcc-aarch64/gcc/objdir/./prev-gcc/xgcc -B/home/ubuntu/src/upstream-gcc-aarch64/gcc/objdir/./prev-gcc/ -B/home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/bin/ -B/home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/bin/ -B/home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/lib/ -isystem /home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/include -isystem /home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/sys-include -fno-checking object configure:7545: /home/ubuntu/src/upstream-gcc-aarch64/gcc/objdir/./prev-gcc/xgcc -B/home/ubuntu/src/upstream-gcc-aarch64/gcc/objdir/./prev-gcc/ -B/home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/bin/ -B/home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/bin/ -B/home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/lib/ -isystem /home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/include -isystem /home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/sys-include -fno-checking -c -g -O2 -fno-checking -flto=jobserver -frandom-seed=1 conftest.c >&5 configure:7548: $? = 0 configure:7552: nm conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm configure:7555: $? = 0 configure:7609: /home/ubuntu/src/upstream-gcc-aarch64/gcc/objdir/./prev-gcc/xgcc -B/home/ubuntu/src/upstream-gcc-aarch64/gcc/objdir/./prev-gcc/ -B/home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/bin/ -B/home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/bin/ -B/home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/lib/ -isystem /home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/include -isystem /home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/sys-include -fno-checking -o conftest -g -O2 -fno-checking -flto=jobserver -frandom-seed=1 -static-libstdc++ -static-libgcc conftest.c conftstm.o >&5 conftest.c:6:12: error: variable 'nm_test_var' redeclared as function 6 | extern int nm_test_var(); | ^ conftest.c:4:6: note: previously declared here 4 | | ^ lto1: fatal error: errors during merging of translation units compilation terminated. lto-wrapper: fatal error: /home/ubuntu/src/upstream-gcc-aarch64/gcc/objdir/./prev-gcc/xgcc returned 1 exit status compilation terminated. /usr/bin/ld: error: lto-wrapper failed collect2: error: ld returned 1 exit status configure:7612: $? = 1 configure:7545: /home/ubuntu/src/upstream-gcc-aarch64/gcc/objdir/./prev-gcc/xgcc -B/home/ubuntu/src/upstream-gcc-aarch64/gcc/objdir/./prev-gcc/ -B/home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/bin/ -B/home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/bin/ -B/home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/lib/ -isystem /home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/include -isystem /home/ubuntu/upstream-gcc/aarch64-unknown-linux-gnu/sys-include -fno-checking -c -g -O2 -fno-checking -flto=jobserver -frandom-seed=1 conftest.c >&5 configure:7548: $? = 0 configure:7552: nm conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2 \2/p' \> conftest.nm configure:7555: $? = 0 cannot run sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*_\([_A-Za-z][_A-Za-z0-9]*\)$/\1 _\2 \2/p' configure:7647: result: failed ---- CUT ---- configure:7427: checking command to parse nm output from gcc object configure:7545: gcc -c -g conftest.c >&5 configure:7548: $? = 0 configure:7552: nm conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm configure:7555: $? = 0 configure:7609: gcc -o conftest -g -static-libstdc++ -static-libgcc conftest.c conftstm.o >&5 configure:7612: $? = 0 configure:7650: result: ok