summaryrefslogtreecommitdiff
path: root/debian/patches/gcc-as-needed-gold.diff
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2017-05-13 13:54:49 +0300
committerIgor Pashev <pashev.igor@gmail.com>2017-05-13 13:54:49 +0300
commit42156b5190f4fa150e1fab6777eb81e69d4db8c9 (patch)
tree3bf47de81cf1f89892789535a036d2d55d93a136 /debian/patches/gcc-as-needed-gold.diff
downloadgcc-9-42156b5190f4fa150e1fab6777eb81e69d4db8c9.tar.gz
Imported gcc-6 (6.3.0-17)debian/6.3.0-17
Diffstat (limited to 'debian/patches/gcc-as-needed-gold.diff')
-rw-r--r--debian/patches/gcc-as-needed-gold.diff17
1 files changed, 17 insertions, 0 deletions
diff --git a/debian/patches/gcc-as-needed-gold.diff b/debian/patches/gcc-as-needed-gold.diff
new file mode 100644
index 0000000..fb3e57f
--- /dev/null
+++ b/debian/patches/gcc-as-needed-gold.diff
@@ -0,0 +1,17 @@
+# DP: Use --push-state/--pop-state for gold as well when linking libtsan.
+
+--- a/src/gcc/gcc.c
++++ b/src/gcc/gcc.c
+@@ -700,10 +700,10 @@
+ #define LIBTSAN_SPEC STATIC_LIBTSAN_LIBS
+ #elif defined(HAVE_LD_STATIC_DYNAMIC)
+ #define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}" \
+- " %{!static-libtsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
++ " %{!static-libtsan:--push-state --no-as-needed}" \
+ " -ltsan " \
+ " %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
+- " %{!static-libtsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
++ " %{!static-libtsan:--pop-state}" \
+ STATIC_LIBTSAN_LIBS
+ #else
+ #define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS