add patches fixing broken libgcc multi-thread detection via weak refs
tested to apply successfully to all supported gcc versions except possibly 4.2.1, for which it is not added yet.
This commit is contained in:
parent
bda7102680
commit
5fd2126e13
|
@ -0,0 +1,51 @@
|
||||||
|
From 51a354a0fb54165d505bfed9819c0440027312d9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Szabolcs Nagy <nsz@port70.net>
|
||||||
|
Date: Sun, 22 Sep 2019 23:04:48 +0000
|
||||||
|
Subject: [PATCH] fix gthr weak refs for libgcc
|
||||||
|
|
||||||
|
ideally gthr-posix.h should be fixed not to use weak refs for
|
||||||
|
single thread detection by default since that's unsafe.
|
||||||
|
|
||||||
|
currently we have to opt out explicitly from the unsafe behaviour
|
||||||
|
in the configure machinery of each target lib that uses gthr and
|
||||||
|
musl missed libgcc previously.
|
||||||
|
|
||||||
|
related bugs and discussions
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78017
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87189
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91737
|
||||||
|
https://sourceware.org/bugzilla/show_bug.cgi?id=5784
|
||||||
|
https://sourceware.org/ml/libc-alpha/2012-09/msg00192.html
|
||||||
|
https://sourceware.org/ml/libc-alpha/2019-08/msg00438.html
|
||||||
|
---
|
||||||
|
libgcc/config.host | 7 +++++++
|
||||||
|
libgcc/config/t-gthr-noweak | 2 ++
|
||||||
|
2 files changed, 9 insertions(+)
|
||||||
|
create mode 100644 libgcc/config/t-gthr-noweak
|
||||||
|
|
||||||
|
diff --git a/libgcc/config.host b/libgcc/config.host
|
||||||
|
index 122113fc519..fe1b9ab93d5 100644
|
||||||
|
--- a/libgcc/config.host
|
||||||
|
+++ b/libgcc/config.host
|
||||||
|
@@ -1500,3 +1500,10 @@ aarch64*-*-*)
|
||||||
|
tm_file="${tm_file} aarch64/value-unwind.h"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
+
|
||||||
|
+case ${host} in
|
||||||
|
+*-*-musl*)
|
||||||
|
+ # The gthr weak references are unsafe with static linking
|
||||||
|
+ tmake_file="$tmake_file t-gthr-noweak"
|
||||||
|
+ ;;
|
||||||
|
+esac
|
||||||
|
diff --git a/libgcc/config/t-gthr-noweak b/libgcc/config/t-gthr-noweak
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..45a21e9361d
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/libgcc/config/t-gthr-noweak
|
||||||
|
@@ -0,0 +1,2 @@
|
||||||
|
+# Don't use weak references for single-thread detection
|
||||||
|
+HOST_LIBGCC2_CFLAGS += -DGTHREAD_USE_WEAK=0
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
From 51a354a0fb54165d505bfed9819c0440027312d9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Szabolcs Nagy <nsz@port70.net>
|
||||||
|
Date: Sun, 22 Sep 2019 23:04:48 +0000
|
||||||
|
Subject: [PATCH] fix gthr weak refs for libgcc
|
||||||
|
|
||||||
|
ideally gthr-posix.h should be fixed not to use weak refs for
|
||||||
|
single thread detection by default since that's unsafe.
|
||||||
|
|
||||||
|
currently we have to opt out explicitly from the unsafe behaviour
|
||||||
|
in the configure machinery of each target lib that uses gthr and
|
||||||
|
musl missed libgcc previously.
|
||||||
|
|
||||||
|
related bugs and discussions
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78017
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87189
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91737
|
||||||
|
https://sourceware.org/bugzilla/show_bug.cgi?id=5784
|
||||||
|
https://sourceware.org/ml/libc-alpha/2012-09/msg00192.html
|
||||||
|
https://sourceware.org/ml/libc-alpha/2019-08/msg00438.html
|
||||||
|
---
|
||||||
|
libgcc/config.host | 7 +++++++
|
||||||
|
libgcc/config/t-gthr-noweak | 2 ++
|
||||||
|
2 files changed, 9 insertions(+)
|
||||||
|
create mode 100644 libgcc/config/t-gthr-noweak
|
||||||
|
|
||||||
|
diff --git a/libgcc/config.host b/libgcc/config.host
|
||||||
|
index 122113fc519..fe1b9ab93d5 100644
|
||||||
|
--- a/libgcc/config.host
|
||||||
|
+++ b/libgcc/config.host
|
||||||
|
@@ -1500,3 +1500,10 @@ aarch64*-*-*)
|
||||||
|
tm_file="${tm_file} aarch64/value-unwind.h"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
+
|
||||||
|
+case ${host} in
|
||||||
|
+*-*-musl*)
|
||||||
|
+ # The gthr weak references are unsafe with static linking
|
||||||
|
+ tmake_file="$tmake_file t-gthr-noweak"
|
||||||
|
+ ;;
|
||||||
|
+esac
|
||||||
|
diff --git a/libgcc/config/t-gthr-noweak b/libgcc/config/t-gthr-noweak
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..45a21e9361d
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/libgcc/config/t-gthr-noweak
|
||||||
|
@@ -0,0 +1,2 @@
|
||||||
|
+# Don't use weak references for single-thread detection
|
||||||
|
+HOST_LIBGCC2_CFLAGS += -DGTHREAD_USE_WEAK=0
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
From 51a354a0fb54165d505bfed9819c0440027312d9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Szabolcs Nagy <nsz@port70.net>
|
||||||
|
Date: Sun, 22 Sep 2019 23:04:48 +0000
|
||||||
|
Subject: [PATCH] fix gthr weak refs for libgcc
|
||||||
|
|
||||||
|
ideally gthr-posix.h should be fixed not to use weak refs for
|
||||||
|
single thread detection by default since that's unsafe.
|
||||||
|
|
||||||
|
currently we have to opt out explicitly from the unsafe behaviour
|
||||||
|
in the configure machinery of each target lib that uses gthr and
|
||||||
|
musl missed libgcc previously.
|
||||||
|
|
||||||
|
related bugs and discussions
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78017
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87189
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91737
|
||||||
|
https://sourceware.org/bugzilla/show_bug.cgi?id=5784
|
||||||
|
https://sourceware.org/ml/libc-alpha/2012-09/msg00192.html
|
||||||
|
https://sourceware.org/ml/libc-alpha/2019-08/msg00438.html
|
||||||
|
---
|
||||||
|
libgcc/config.host | 7 +++++++
|
||||||
|
libgcc/config/t-gthr-noweak | 2 ++
|
||||||
|
2 files changed, 9 insertions(+)
|
||||||
|
create mode 100644 libgcc/config/t-gthr-noweak
|
||||||
|
|
||||||
|
diff --git a/libgcc/config.host b/libgcc/config.host
|
||||||
|
index 122113fc519..fe1b9ab93d5 100644
|
||||||
|
--- a/libgcc/config.host
|
||||||
|
+++ b/libgcc/config.host
|
||||||
|
@@ -1500,3 +1500,10 @@ aarch64*-*-*)
|
||||||
|
tm_file="${tm_file} aarch64/value-unwind.h"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
+
|
||||||
|
+case ${host} in
|
||||||
|
+*-*-musl*)
|
||||||
|
+ # The gthr weak references are unsafe with static linking
|
||||||
|
+ tmake_file="$tmake_file t-gthr-noweak"
|
||||||
|
+ ;;
|
||||||
|
+esac
|
||||||
|
diff --git a/libgcc/config/t-gthr-noweak b/libgcc/config/t-gthr-noweak
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..45a21e9361d
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/libgcc/config/t-gthr-noweak
|
||||||
|
@@ -0,0 +1,2 @@
|
||||||
|
+# Don't use weak references for single-thread detection
|
||||||
|
+HOST_LIBGCC2_CFLAGS += -DGTHREAD_USE_WEAK=0
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
From 51a354a0fb54165d505bfed9819c0440027312d9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Szabolcs Nagy <nsz@port70.net>
|
||||||
|
Date: Sun, 22 Sep 2019 23:04:48 +0000
|
||||||
|
Subject: [PATCH] fix gthr weak refs for libgcc
|
||||||
|
|
||||||
|
ideally gthr-posix.h should be fixed not to use weak refs for
|
||||||
|
single thread detection by default since that's unsafe.
|
||||||
|
|
||||||
|
currently we have to opt out explicitly from the unsafe behaviour
|
||||||
|
in the configure machinery of each target lib that uses gthr and
|
||||||
|
musl missed libgcc previously.
|
||||||
|
|
||||||
|
related bugs and discussions
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78017
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87189
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91737
|
||||||
|
https://sourceware.org/bugzilla/show_bug.cgi?id=5784
|
||||||
|
https://sourceware.org/ml/libc-alpha/2012-09/msg00192.html
|
||||||
|
https://sourceware.org/ml/libc-alpha/2019-08/msg00438.html
|
||||||
|
---
|
||||||
|
libgcc/config.host | 7 +++++++
|
||||||
|
libgcc/config/t-gthr-noweak | 2 ++
|
||||||
|
2 files changed, 9 insertions(+)
|
||||||
|
create mode 100644 libgcc/config/t-gthr-noweak
|
||||||
|
|
||||||
|
diff --git a/libgcc/config.host b/libgcc/config.host
|
||||||
|
index 122113fc519..fe1b9ab93d5 100644
|
||||||
|
--- a/libgcc/config.host
|
||||||
|
+++ b/libgcc/config.host
|
||||||
|
@@ -1500,3 +1500,10 @@ aarch64*-*-*)
|
||||||
|
tm_file="${tm_file} aarch64/value-unwind.h"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
+
|
||||||
|
+case ${host} in
|
||||||
|
+*-*-musl*)
|
||||||
|
+ # The gthr weak references are unsafe with static linking
|
||||||
|
+ tmake_file="$tmake_file t-gthr-noweak"
|
||||||
|
+ ;;
|
||||||
|
+esac
|
||||||
|
diff --git a/libgcc/config/t-gthr-noweak b/libgcc/config/t-gthr-noweak
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..45a21e9361d
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/libgcc/config/t-gthr-noweak
|
||||||
|
@@ -0,0 +1,2 @@
|
||||||
|
+# Don't use weak references for single-thread detection
|
||||||
|
+HOST_LIBGCC2_CFLAGS += -DGTHREAD_USE_WEAK=0
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
From 51a354a0fb54165d505bfed9819c0440027312d9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Szabolcs Nagy <nsz@port70.net>
|
||||||
|
Date: Sun, 22 Sep 2019 23:04:48 +0000
|
||||||
|
Subject: [PATCH] fix gthr weak refs for libgcc
|
||||||
|
|
||||||
|
ideally gthr-posix.h should be fixed not to use weak refs for
|
||||||
|
single thread detection by default since that's unsafe.
|
||||||
|
|
||||||
|
currently we have to opt out explicitly from the unsafe behaviour
|
||||||
|
in the configure machinery of each target lib that uses gthr and
|
||||||
|
musl missed libgcc previously.
|
||||||
|
|
||||||
|
related bugs and discussions
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78017
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87189
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91737
|
||||||
|
https://sourceware.org/bugzilla/show_bug.cgi?id=5784
|
||||||
|
https://sourceware.org/ml/libc-alpha/2012-09/msg00192.html
|
||||||
|
https://sourceware.org/ml/libc-alpha/2019-08/msg00438.html
|
||||||
|
---
|
||||||
|
libgcc/config.host | 7 +++++++
|
||||||
|
libgcc/config/t-gthr-noweak | 2 ++
|
||||||
|
2 files changed, 9 insertions(+)
|
||||||
|
create mode 100644 libgcc/config/t-gthr-noweak
|
||||||
|
|
||||||
|
diff --git a/libgcc/config.host b/libgcc/config.host
|
||||||
|
index 122113fc519..fe1b9ab93d5 100644
|
||||||
|
--- a/libgcc/config.host
|
||||||
|
+++ b/libgcc/config.host
|
||||||
|
@@ -1500,3 +1500,10 @@ aarch64*-*-*)
|
||||||
|
tm_file="${tm_file} aarch64/value-unwind.h"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
+
|
||||||
|
+case ${host} in
|
||||||
|
+*-*-musl*)
|
||||||
|
+ # The gthr weak references are unsafe with static linking
|
||||||
|
+ tmake_file="$tmake_file t-gthr-noweak"
|
||||||
|
+ ;;
|
||||||
|
+esac
|
||||||
|
diff --git a/libgcc/config/t-gthr-noweak b/libgcc/config/t-gthr-noweak
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..45a21e9361d
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/libgcc/config/t-gthr-noweak
|
||||||
|
@@ -0,0 +1,2 @@
|
||||||
|
+# Don't use weak references for single-thread detection
|
||||||
|
+HOST_LIBGCC2_CFLAGS += -DGTHREAD_USE_WEAK=0
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
From 51a354a0fb54165d505bfed9819c0440027312d9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Szabolcs Nagy <nsz@port70.net>
|
||||||
|
Date: Sun, 22 Sep 2019 23:04:48 +0000
|
||||||
|
Subject: [PATCH] fix gthr weak refs for libgcc
|
||||||
|
|
||||||
|
ideally gthr-posix.h should be fixed not to use weak refs for
|
||||||
|
single thread detection by default since that's unsafe.
|
||||||
|
|
||||||
|
currently we have to opt out explicitly from the unsafe behaviour
|
||||||
|
in the configure machinery of each target lib that uses gthr and
|
||||||
|
musl missed libgcc previously.
|
||||||
|
|
||||||
|
related bugs and discussions
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78017
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87189
|
||||||
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91737
|
||||||
|
https://sourceware.org/bugzilla/show_bug.cgi?id=5784
|
||||||
|
https://sourceware.org/ml/libc-alpha/2012-09/msg00192.html
|
||||||
|
https://sourceware.org/ml/libc-alpha/2019-08/msg00438.html
|
||||||
|
---
|
||||||
|
libgcc/config.host | 7 +++++++
|
||||||
|
libgcc/config/t-gthr-noweak | 2 ++
|
||||||
|
2 files changed, 9 insertions(+)
|
||||||
|
create mode 100644 libgcc/config/t-gthr-noweak
|
||||||
|
|
||||||
|
diff --git a/libgcc/config.host b/libgcc/config.host
|
||||||
|
index 122113fc519..fe1b9ab93d5 100644
|
||||||
|
--- a/libgcc/config.host
|
||||||
|
+++ b/libgcc/config.host
|
||||||
|
@@ -1500,3 +1500,10 @@ aarch64*-*-*)
|
||||||
|
tm_file="${tm_file} aarch64/value-unwind.h"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
+
|
||||||
|
+case ${host} in
|
||||||
|
+*-*-musl*)
|
||||||
|
+ # The gthr weak references are unsafe with static linking
|
||||||
|
+ tmake_file="$tmake_file t-gthr-noweak"
|
||||||
|
+ ;;
|
||||||
|
+esac
|
||||||
|
diff --git a/libgcc/config/t-gthr-noweak b/libgcc/config/t-gthr-noweak
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..45a21e9361d
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/libgcc/config/t-gthr-noweak
|
||||||
|
@@ -0,0 +1,2 @@
|
||||||
|
+# Don't use weak references for single-thread detection
|
||||||
|
+HOST_LIBGCC2_CFLAGS += -DGTHREAD_USE_WEAK=0
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
Loading…
Reference in New Issue