https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117211
Bug ID: 117211 Summary: Building gcc configured with --enable-coverage=opt fails with a link error after r15-4286-gc397a8c12296b7 Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: gcov-profile Assignee: unassigned at gcc dot gnu.org Reporter: jamborm at gcc dot gnu.org CC: jakub at gcc dot gnu.org Target Milestone: --- Host: x86_64-linux-gnu Target: x86_64-linux-gnu Starting with commit r15-4286-gc397a8c12296b7 (Jakub Jelinek: libcpp, genmatch: Use gcc_diag instead of printf for libcpp diagnostics), I cannot build GCC when configured as: ../src/configure --enable-languages=c,c++ --disable-bootstrap --enable-coverage=opt --enable-host-shared which we use (with more languages enabled) to generate https://gcc.opensuse.org/gcc-lcov/ (I admit I do not know why we use --enable-host-shared or if it is strictly necessary). The build fails with link errors like: diagnostic.cc:(.text.startup+0x8): undefined reference to `__gcov_init' /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: libcommon.a(diagnostic.o): in function `_sub_D_00100_1': diagnostic.cc:(.text.exit+0x1): undefined reference to `__gcov_exit' /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: libcommon.a(diagnostic.o):(.data.rel+0x20): undefined reference to `__gcov_merge_add' /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: libcommon.a(diagnostic-color.o): in function `_sub_I_00100_0': diagnostic-color.cc:(.text.startup+0x8): undefined reference to `__gcov_init' /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: libcommon.a(diagnostic-color.o): in function `_sub_D_00100_1': diagnostic-color.cc:(.text.exit+0x1): undefined reference to `__gcov_exit' /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: libcommon.a(diagnostic-color.o):(.data.rel+0x20): undefined reference to `__gcov_merge_add' /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: libcommon.a(diagnostic-format-json.o): in function `_sub_I_00100_0': diagnostic-format-json.cc:(.text.startup+0x8): undefined reference to `__gcov_init' /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: libcommon.a(diagnostic-format-json.o): in function `_sub_D_00100_1': diagnostic-format-json.cc:(.text.exit+0x1): undefined reference to `__gcov_exit' /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: libcommon.a(diagnostic-format-json.o):(.data.rel+0x20): undefined reference to `__gcov_merge_add' /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: libcommon.a(diagnostic-format-sarif.o): in function `_sub_I_00100_0':