X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=config%2Fbootstrap-lto.mk;h=4de07e5b22698f9f97c45adeb078a217ae72f26e;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-2020-04-01;hp=14099a08b8d7bb687ac75cab3348b4a940eda6aa;hpb=29e66501f7ce527c9abc01061836d37960712546;p=deliverable%2Fbinutils-gdb.git diff --git a/config/bootstrap-lto.mk b/config/bootstrap-lto.mk index 14099a08b8..4de07e5b22 100644 --- a/config/bootstrap-lto.mk +++ b/config/bootstrap-lto.mk @@ -1,8 +1,18 @@ -# This option enables LTO for stage2 and stage3. It requires lto to -# be enabled for stage1 with --enable-stage1-languages. +# This option enables LTO for stage2 and stage3 in slim mode -STAGE2_CFLAGS += -flto -STAGE3_CFLAGS += -flto +STAGE2_CFLAGS += -flto=jobserver -frandom-seed=1 +STAGE3_CFLAGS += -flto=jobserver -frandom-seed=1 +STAGEprofile_CFLAGS += -flto=jobserver -frandom-seed=1 +STAGEtrain_CFLAGS += -flto=jobserver -frandom-seed=1 +STAGEfeedback_CFLAGS += -flto=jobserver -frandom-seed=1 -# Ada fails to build with LTO, turn it off for now. -BOOT_ADAFLAGS += -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)" + +do-compare = $(SHELL) $(srcdir)/contrib/compare-lto $$f1 $$f2 +extra-compare = gcc/lto1$(exeext)