f125901979
upstream commit:
1e550564a9
[ci:skip-build] Builds locally, no point to build on poor Gitlab CI
57 lines
2.1 KiB
Diff
57 lines
2.1 KiB
Diff
From df182f44e2e25e6c7ad70f7e90f246e2c8a1006b Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
|
|
Date: Sun, 29 Aug 2021 09:45:27 +0200
|
|
Subject: [PATCH] configure: fix detection of atomic builtins in libatomic
|
|
configure script
|
|
|
|
Alpine's --enable-autolink-libatomic (which is enabled for riscv64 by
|
|
default) causes the libatomic configure script to incorrectly detect
|
|
which builtins are available on riscv64. This then causes incorrect code
|
|
generation for libatomic since it assumes compiler builtins to be
|
|
available which are not actually available on riscv64.
|
|
|
|
This commit fixes this issue by disabling linking of libatomic configure
|
|
test code entirely, thereby preventing linking against libatomic.
|
|
|
|
See:
|
|
|
|
* https://gitlab.alpinelinux.org/alpine/aports/-/issues/12948
|
|
* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c6
|
|
---
|
|
libatomic/configure.tgt | 20 ++++++++++++++++++++
|
|
1 file changed, 20 insertions(+)
|
|
|
|
diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
|
|
index 5dd0926d207..0b57a801e23 100644
|
|
--- a/libatomic/configure.tgt
|
|
+++ b/libatomic/configure.tgt
|
|
@@ -30,6 +30,26 @@
|
|
# on ${target_cpu}. For example to allow proper use of multilibs.
|
|
configure_tgt_pre_target_cpu_XCFLAGS="${XCFLAGS}"
|
|
|
|
+# The libatomic configure script performs several checks to determine
|
|
+# whether builtins for atomic operations are available. When compiling
|
|
+# with --enable-autolink-libatomic the test code compiled by the
|
|
+# configure script is also linked against libatomic. This causes it
|
|
+# to think that builtins are available, even if there are not, since
|
|
+# the tested symbols are provided by libatomic.
|
|
+#
|
|
+# This is a hack to ensure that we don't link against libatomic by not
|
|
+# linking any configure test code at all when --enable-autolink-libatomic
|
|
+# is given.
|
|
+#
|
|
+# See:
|
|
+#
|
|
+# * https://gitlab.alpinelinux.org/alpine/aports/-/issues/12817
|
|
+# * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c4
|
|
+#
|
|
+if test x$enable_autolink_libatomic = xyes; then
|
|
+ gcc_no_link=yes
|
|
+fi
|
|
+
|
|
case "${target_cpu}" in
|
|
alpha*)
|
|
# fenv.c needs this option to generate inexact exceptions.
|
|
--
|
|
2.33.1
|
|
|