https://sourceware.org/bugzilla/show_bug.cgi?id=28893
Bug ID: 28893 Summary: binutils-2.37: PGO build with Clang results in configure error: AR with --plugin and rc is required for LTO build Product: binutils Version: 2.37 Status: UNCONFIRMED Severity: normal Priority: P2 Component: binutils Assignee: unassigned at sourceware dot org Reporter: telans at posteo dot de Target Milestone: --- Created attachment 13978 --> https://sourceware.org/bugzilla/attachment.cgi?id=13978&action=edit build.log Downstream Gentoo report: https://bugs.gentoo.org/833371 It appears that --enable-pgo-build requires checking for GCC plugin support from within config/gcc-plugin.m4. This breaks the build when CC=clang with the following: configure: error: AR with --plugin and rc is required for LTO build I believe this issue comes from binutils requesting a GCC LTO plugin regardless of whether Clang is used or not: https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=config/gcc-plugin.m4#l139 >From the above: 136 plugin_names="liblto_plugin.so liblto_plugin-0.dll cyglto_plugin-0.dll" 137 plugin_option= 138 for plugin in $plugin_names; do 139 plugin_so=`${CC} ${CFLAGS} --print-prog-name $plugin` 140 if test x$plugin_so = x$plugin; then 141 plugin_so=`${CC} ${CFLAGS} --print-file-name $plugin` 142 fi 143 if test x$plugin_so != x$plugin; then 144 plugin_option="--plugin $plugin_so" 145 break 146 fi 147 done When GCC is used as $CC in the two commands, the outputs are: telans@desktop ~ $ gcc --print-prog-name liblto_plugin.so /usr/libexec/gcc/x86_64-pc-linux-gnu/11.2.1/liblto_plugin.so telans@desktop ~ $ gcc --print-file-name liblto_plugin.so liblto_plugin.so Compared to Clang: telans@desktop ~ $ clang --print-prog-name liblto_plugin.so liblto_plugin.so telans@desktop ~ $ clang --print-file-name liblto_plugin.so liblto_plugin.so As on line 143, test is expecting a difference between the outputs which does not occur using Clang (it might be testing for the existence of the plugin?). I'm fairly sure these config tests can be skipped when using Clang + lld, but I'm not sure. Thanks. -- You are receiving this mail because: You are on the CC list for the bug.