aboutsummaryrefslogtreecommitdiff
path: root/config/bootstrap-lto.mk
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-03-16 08:34:23 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-03-16 08:34:23 -0700
commit8869a24691490e5cb47045c1d732a27ea8408a2e (patch)
tree4c5838d1b2a5144a711a6153a15b77a240de793b /config/bootstrap-lto.mk
parent100d311943b10e9dba1685fbc95f08b9d7226ee9 (diff)
downloadgdb-8869a24691490e5cb47045c1d732a27ea8408a2e.zip
gdb-8869a24691490e5cb47045c1d732a27ea8408a2e.tar.gz
gdb-8869a24691490e5cb47045c1d732a27ea8408a2e.tar.bz2
Sync bootstrap-asan.mk/bootstrap-lto.mk with GCC tree
* bootstrap-asan.mk: Sync with GCC tree. * bootstrap-lto.mk: Likewise.
Diffstat (limited to 'config/bootstrap-lto.mk')
-rw-r--r--config/bootstrap-lto.mk16
1 files changed, 11 insertions, 5 deletions
diff --git a/config/bootstrap-lto.mk b/config/bootstrap-lto.mk
index 27bad15..9e065e1 100644
--- a/config/bootstrap-lto.mk
+++ b/config/bootstrap-lto.mk
@@ -1,7 +1,13 @@
-# This option enables LTO for stage2 and stage3.
-# FIXME: Our build system is not yet able to use gcc-ar wrapper, so we need
-# to go with -ffat-lto-objects.
+# This option enables LTO for stage2 and stage3 in slim mode
-STAGE2_CFLAGS += -flto=jobserver -frandom-seed=1 -ffat-lto-objects
-STAGE3_CFLAGS += -flto=jobserver -frandom-seed=1 -ffat-lto-objects
+STAGE2_CFLAGS += -flto=jobserver -frandom-seed=1
+STAGE3_CFLAGS += -flto=jobserver -frandom-seed=1
STAGEprofile_CFLAGS += -fno-lto
+
+# assumes the host supports the linker plugin
+LTO_AR = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ar$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/
+LTO_RANLIB = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ranlib$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/
+
+LTO_EXPORTS = AR="$(LTO_AR)"; export AR; \
+ RANLIB="$(LTO_RANLIB)"; export RANLIB;
+LTO_FLAGS_TO_PASS = AR="$(LTO_AR)" RANLIB="$(LTO_RANLIB)"