2013-10-16 Jan-Benedict Glaw <jbglaw@lug-owl.de>
authorJan-Benedict Glaw <jbglaw@lug-owl.de>
Wed, 16 Oct 2013 20:45:20 +0000 (20:45 +0000)
committerJan-Benedict Glaw <jbglaw@lug-owl.de>
Wed, 16 Oct 2013 20:45:20 +0000 (20:45 +0000)
* ChangeLog: Sync from GCC.
* mh-darwin: Ditto.
* bootstrap-ubsan.mk: Ditto.

config/ChangeLog
config/bootstrap-ubsan.mk [new file with mode: 0644]
config/mh-darwin

index cdc733c705a2001e3b8279ad15459281ffe81a4d..e3f6f456695b972cc341ad26c18e38129f1076dc 100644 (file)
@@ -1,3 +1,13 @@
+2013-09-29  Iain Sandoe  <iain@codesourcery.com>
+
+       * mh-darwin (BOOT_CFLAGS): Only add -mdynamic-no-pic for m32 hosts.
+       (STAGE1_CFLAGS, STAGE1_LDFLAGS): New.
+       Fix over-length lines and amend comments.
+
+2013-08-30  Marek Polacek  <polacek@redhat.com>
+
+       * bootstrap-ubsan.mk: New.
+
 2013-03-27  Kai Tietz  <ktietz@redhat.com>
 
        * dfp.m4: Add support for cygwin x64 target.
diff --git a/config/bootstrap-ubsan.mk b/config/bootstrap-ubsan.mk
new file mode 100644 (file)
index 0000000..2d21e83
--- /dev/null
@@ -0,0 +1,7 @@
+# This option enables -fsanitize=undefined for stage2 and stage3.
+
+STAGE2_CFLAGS += -fsanitize=undefined
+STAGE3_CFLAGS += -fsanitize=undefined
+POSTSTAGE1_LDFLAGS += -fsanitize=undefined -static-libubsan -lpthread \
+                     -B$$r/prev-$(TARGET_SUBDIR)/libsanitizer/ubsan/ \
+                     -B$$r/prev-$(TARGET_SUBDIR)/libsanitizer/ubsan/.libs
index 19bf26568b5fba8d1b8e03a708ba830558b89a35..a039f201410987b876a2cc259e6f1ca09f8b25bc 100644 (file)
@@ -1,7 +1,18 @@
 # The -mdynamic-no-pic ensures that the compiler executable is built without
 # position-independent-code -- the usual default on Darwin. This fix speeds
 # compiles by 3-5%.
-BOOT_CFLAGS += -mdynamic-no-pic
+BOOT_CFLAGS += \
+`case ${host} in i?86-*-darwin* | powerpc-*-darwin*) \
+                 echo -mdynamic-no-pic ;; esac;`
 
-# Ensure we don't try and use -pie, as it is incompatible with pch.
-BOOT_LDFLAGS += `case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
+# ld on Darwin versions >= 10.7 defaults to PIE executables. Disable this for
+# gcc components, since it is incompatible with our pch implementation.
+BOOT_LDFLAGS += \
+`case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
+
+# Similarly, for cross-compilation.
+STAGE1_CFLAGS += \
+`case ${host} in i?86-*-darwin* | powerpc-*-darwin*)\
+                 echo -mdynamic-no-pic ;; esac;`
+STAGE1_LDFLAGS += \
+`case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`