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':

Reply via email to