Using -flto in CXXFLAGS_FOR_TARGET

Xi Ruoyao ryxi@stu.xidian.edu.cn
Fri Jun 15 09:57:00 GMT 2018


On 2018-06-15 11:31 +0200, U.Mutlu wrote:
> I tried to use -flto in CXXFLAGS_FOR_TARGET. It successfully built the compilers,
> but later when trying to use the compilers, the linker reported an error about 
> something missing and aborted the linking.

PR 48200 renders shared libraries with versioned symbols (".symver") unusable if it
was built with -flto.  libstdc++ is affected.

> Of course the rationale was to optimize the compiler itself.
> 
> So, the question is: does it not make any sense to use -flto for the build itself?
> (Or should one specify -flto in some of the other config variables like 
> CXXFLAGS_FOR_BUILD and/or the ...FLAGS vars maybe?)

Use --with-build-config=bootstrap-lto.

"C(XX)FLAGS_FOR_BUILD=-flto" also makes sense (see PR 59893).  But you should use
--disable-shared and build the shared libraries w/o LTO, at least for now to
workaround PR 48200.  And you should use patch to workaround PR 60160.
-- 
Xi Ruoyao <ryxi@stu.xidian.edu.cn>
School of Aerospace Science and Technology, Xidian University



More information about the Gcc-help mailing list