From 8869a24691490e5cb47045c1d732a27ea8408a2e Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 16 Mar 2015 08:34:23 -0700 Subject: [PATCH] Sync bootstrap-asan.mk/bootstrap-lto.mk with GCC tree * bootstrap-asan.mk: Sync with GCC tree. * bootstrap-lto.mk: Likewise. --- config/ChangeLog | 5 +++++ config/bootstrap-asan.mk | 3 +++ config/bootstrap-lto.mk | 16 +++++++++++----- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/config/ChangeLog b/config/ChangeLog index ee4a41eeee4..ddda76fe79d 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,8 @@ +2015-03-18 H.J. Lu + + * bootstrap-asan.mk: Sync with GCC tree. + * bootstrap-lto.mk: Likewise. + 2015-03-18 H.J. Lu * cloog.m4: Removed. diff --git a/config/bootstrap-asan.mk b/config/bootstrap-asan.mk index fbef02125dc..52ef30e99c8 100644 --- a/config/bootstrap-asan.mk +++ b/config/bootstrap-asan.mk @@ -1,5 +1,8 @@ # This option enables -fsanitize=address for stage2 and stage3. +# Suppress LeakSanitizer in bootstrap. +export ASAN_OPTIONS="detect_leaks=0" + STAGE2_CFLAGS += -fsanitize=address STAGE3_CFLAGS += -fsanitize=address POSTSTAGE1_LDFLAGS += -fsanitize=address -static-libasan \ diff --git a/config/bootstrap-lto.mk b/config/bootstrap-lto.mk index 27bad1529be..9e065e1d85a 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)" -- 2.30.2