Sync bootstrap-asan.mk/bootstrap-lto.mk with GCC tree
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 16 Mar 2015 15:34:23 +0000 (08:34 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 16 Mar 2015 15:34:23 +0000 (08:34 -0700)
* bootstrap-asan.mk: Sync with GCC tree.
* bootstrap-lto.mk: Likewise.

config/ChangeLog
config/bootstrap-asan.mk
config/bootstrap-lto.mk

index ee4a41eeee4f4fc3c55c66d8fe815f2b48a7c31c..ddda76fe79d991bead8d7218059e1ccce8ba6659 100644 (file)
@@ -1,3 +1,8 @@
+2015-03-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * bootstrap-asan.mk: Sync with GCC tree.
+       * bootstrap-lto.mk: Likewise.
+
 2015-03-18  H.J. Lu  <hongjiu.lu@intel.com>
 
        * cloog.m4: Removed.
index fbef02125dca4d7c9d06763e039225c052f89237..52ef30e99c83ecb13dd95632796e2cab3a868ced 100644 (file)
@@ -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 \
index 27bad1529bee612d466d4a9add71da79c92c4d35..9e065e1d85a09325c4332ad64202295b9f3e2fc0 100644 (file)
@@ -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)"