]> git.ipfire.org Git - people/ms/ipfire-2.x.git/commitdiff
gcc: Enable LTO linker plugin by default toolchain-without-gold
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 5 May 2021 22:38:38 +0000 (22:38 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 5 May 2021 22:38:38 +0000 (22:38 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
config/rootfiles/common/x86_64/gcc
lfs/gcc

index 6aac886ea0d2dd88b68eaefedec92b73db99c1be..f0589511d87e095e92f2665d32be9211ac74c4e5 100644 (file)
 #usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/time_members.h
 #usr/include/c++/10.3.0/x86_64-pc-linux-gnu/ext
 #usr/include/c++/10.3.0/x86_64-pc-linux-gnu/ext/opt_random.h
+#usr/lib/bfd-plugins/liblto_plugin.so
 #usr/lib/gcc
 #usr/lib/gcc/x86_64-pc-linux-gnu
 #usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0
diff --git a/lfs/gcc b/lfs/gcc
index cfce9191b0eb93bc5ffc2bfcd75383550ccf9b78..8db59b637d5a8a0fdccea3f974a3f634b8b5ae90 100644 (file)
--- a/lfs/gcc
+++ b/lfs/gcc
@@ -72,7 +72,7 @@ ifeq "$(ROOT)" ""
        --enable-threads=posix \
        --enable-__cxa_atexit \
        --enable-clocale=gnu \
-       --enable-languages=c,c++ \
+       --enable-languages=c,c++,lto \
        --disable-bootstrap \
        --disable-nls
   EXTRA_MAKE =
@@ -105,7 +105,7 @@ ifeq "$(PASS)" "1"
        --without-headers \
        --without-ppl \
        --without-cloog \
-       --enable-languages=c,c++
+       --enable-languages=c,c++,lto
   EXTRA_MAKE = 
   EXTRA_INSTALL = 
 else
@@ -121,7 +121,7 @@ ifeq "$(PASS)" "2"
        --prefix=$(TOOLS_DIR) \
        --with-local-prefix=$(TOOLS_DIR) \
        --with-native-system-header-dir=$(TOOLS_DIR)/include \
-       --enable-languages=c,c++ \
+       --enable-languages=c,c++,lto \
        --disable-libstdcxx-pch \
        --disable-libgomp
   EXTRA_MAKE = 
@@ -294,12 +294,22 @@ endif
 ifeq "$(TOOLCHAIN)" "1"
  ifeq "$(PASS)" "1"
        ln -svf libgcc.a $$($(TOOLS_DIR)/bin/$(CROSSTARGET)-gcc -print-libgcc-file-name | sed 's/libgcc/&_eh/')
+
+       # Always enable LTO plugin
+       ln -svf --relative \
+               $(TOOLS_DIR)/libexec/gcc/$(CROSSTARGET)/$(VER)/liblto_plugin.so \
+               $(TOOLS_DIR)/lib/bfd-plugins
  endif
 
  ifeq "$(PASS)" "2"
        ln -svf gcc $(TOOLS_DIR)/bin/cc
        # remove gdb python files from libdir
        rm -rf $(TOOLS_DIR)/lib/*-gdb.py
+
+       # Always enable LTO plugin
+       ln -svf --relative \
+               $(TOOLS_DIR)/libexec/gcc/$(BUILDTARGET)/$(VER)/liblto_plugin.so \
+               $(TOOLS_DIR)/lib/bfd-plugins
  endif
 
  ifeq "$(PASS)" "L"
@@ -312,6 +322,9 @@ else # NON-TOOLCHAIN
        ln -svf gcc /usr/bin/cc
        # remove gdb python files from libdir
        rm -rf /usr/lib/*-gdb.py
+
+       # Always enable LTO plugin
+       ln -svf $$(/usr/bin/gcc --print-file-name=liblto_plugin.so) /usr/lib/bfd-plugins
 endif
 
        @rm -rf $(DIR_APP) $(DIR_SRC)/gcc-build