From: H.J. Lu Date: Mon, 16 Mar 2015 15:34:23 +0000 (-0700) Subject: Sync bootstrap-asan.mk/bootstrap-lto.mk with GCC tree X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=8869a24691490e5cb47045c1d732a27ea8408a2e;p=deliverable%2Fbinutils-gdb.git Sync bootstrap-asan.mk/bootstrap-lto.mk with GCC tree * bootstrap-asan.mk: Sync with GCC tree. * bootstrap-lto.mk: Likewise. --- diff --git a/config/ChangeLog b/config/ChangeLog index ee4a41eeee..ddda76fe79 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 fbef02125d..52ef30e99c 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 27bad1529b..9e065e1d85 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)"