mirror of
https://git.busybox.net/buildroot.git
synced 2024-12-14 15:53:29 +08:00
package/gcc: use binutils wrappers for target libs
This will use gcc-ar, gcc-nm and gcc-ranlib instead of the normal binutils tools. The difference is that with the wrappers, gcc plugins will be automatically picked up, which is necessary to build with LTO. With this enabled, it is possible to build everything (including libgcc and libstdc++) with LTO by setting BR2_TARGET_OPTIMIZATION="-flto". Note that you'd expect that the GCC build system would automatically do this when --enable-lto is set, but this is not the case. There are some open bugs [1][2] to allow building libgcc and libstdc++ with LTO support but it's apparently not done yet. Note that there are also reports of problems building libstdc++ with LTO [3], but it seems that's no longer a problem (and the bug didn't get updated). Signed-off-by: Norbert Lange <nolange79@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59893 [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77278 [3] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60160
This commit is contained in:
parent
2f9a1c6213
commit
ee228403e9
@ -104,6 +104,7 @@ endif
|
||||
# Propagate options used for target software building to GCC target libs
|
||||
HOST_GCC_COMMON_CONF_ENV += CFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CFLAGS)"
|
||||
HOST_GCC_COMMON_CONF_ENV += CXXFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CXXFLAGS)"
|
||||
HOST_GCC_COMMON_CONF_ENV += AR_FOR_TARGET=gcc-ar NM_FOR_TARGET=gcc-nm RANLIB_FOR_TARGET=gcc-ranlib
|
||||
|
||||
# libitm needs sparc V9+
|
||||
ifeq ($(BR2_sparc_v8)$(BR2_sparc_leon3),y)
|
||||
|
Loading…
Reference in New Issue
Block a user