This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[committed, PATCH] Sync bootstrap-asan.mk/bootstrap-lto.mk with GCC tree
- From: "H.J. Lu" <hongjiu dot lu at intel dot com>
- To: binutils at sourceware dot org
- Date: Mon, 16 Mar 2015 08:35:46 -0700
- Subject: [committed, PATCH] Sync bootstrap-asan.mk/bootstrap-lto.mk with GCC tree
- Authentication-results: sourceware.org; auth=none
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
I checkec in this patch to sync bootstrap-asan.mk/bootstrap-lto.mk with
GCC tree.
H.J.
---
* 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 ee4a41e..ddda76f 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,5 +1,10 @@
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.
2014-08-19 Alan Modra <amodra@gmail.com>
diff --git a/config/bootstrap-asan.mk b/config/bootstrap-asan.mk
index fbef021..52ef30e 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 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)"
--
1.9.3