toolchain-external: clarify the comment about *-gcc-ar... LTO wrappers
authorArnout Vandecappelle <arnout@mind.be>
Fri, 11 Sep 2015 23:24:20 +0000 (01:24 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 13 Sep 2015 10:38:25 +0000 (12:38 +0200)
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
toolchain/toolchain-external/toolchain-external.mk

index 4b4b4630311b7fc374cf755e290975db166eede6..967e9ec4e44847ee0d9da411600eccebe54ca1d4 100644 (file)
@@ -666,11 +666,12 @@ endif
 # Build toolchain wrapper for preprocessor, C and C++ compiler and setup
 # symlinks for everything else. Skip gdb symlink when we are building our
 # own gdb to prevent two gdb's in output/host/usr/bin.
-# When the link-time-optimization flag '-flto' is used, then the compiler
-# and binutils have to support lto. ar/ranlib need to be called with the
-# lto plugin. The wrappers *-gcc-ar and *-gcc-ranlib provided by GCC could
-# be used as drop-ins for ar/runlib when Makefiles are used which do not
-# pass the lto arguments.
+# The LTO support in gcc creates wrappers for ar, ranlib and nm which load
+# the lto plugin. These wrappers are called *-gcc-ar, *-gcc-ranlib, and
+# *-gcc-nm and should be used instead of the real programs when -flto is
+# used. However, we should not add the toolchain wrapper for them, and they
+# match the *cc-* pattern. Therefore, an additional case is added for *-ar,
+# *-ranlib and *-nm.
 define TOOLCHAIN_EXTERNAL_INSTALL_WRAPPER
        $(Q)$(call MESSAGE,"Building ext-toolchain wrapper")
        $(Q)mkdir -p $(HOST_DIR)/usr/bin