mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-07 15:43:49 +02:00
gcc: use --enable-autolink-libatomic for platforms that often need atomics.
As explained in #35992, gcc often generates code that needs libatomic on these platforms, so link to libatomic by default (as-needed). Patches taken from Alpine.
This commit is contained in:
parent
cda2fad4cc
commit
effe9a6d2b
4 changed files with 373 additions and 7 deletions
|
@ -0,0 +1,41 @@
|
||||||
|
From 548720bca6bff21ebc9aba22249d9ce45bbd90c7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ian Lance Taylor <iant@golang.org>
|
||||||
|
Date: Wed, 29 Jun 2022 15:32:04 -0700
|
||||||
|
Subject: [PATCH] libgo: handle stat st_atim32 field and SYS_SECCOMP
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Patches for musl support, from Sören Tempel.
|
||||||
|
|
||||||
|
Fixes https://gcc.gnu.org/PR105225
|
||||||
|
|
||||||
|
Change-Id: If396877d4a4c7d27962226d7a6e3bb91b1344413
|
||||||
|
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/415294
|
||||||
|
Reviewed-by: Than McIntosh <thanm@google.com>
|
||||||
|
Reviewed-by: Ian Lance Taylor <iant@google.com>
|
||||||
|
---
|
||||||
|
libgo/mksysinfo.sh | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
|
||||||
|
index 5aa30915..ea1fa17d 100755
|
||||||
|
--- a/libgo/mksysinfo.sh
|
||||||
|
+++ b/libgo/mksysinfo.sh
|
||||||
|
@@ -127,6 +127,7 @@ fi
|
||||||
|
|
||||||
|
# The syscall numbers. We force the names to upper case.
|
||||||
|
grep '^const _SYS_' gen-sysinfo.go | \
|
||||||
|
+ grep -v '^const _SYS_SECCOMP = ' | \
|
||||||
|
sed -e 's/const _\(SYS_[^= ]*\).*$/\1/' | \
|
||||||
|
while read sys; do
|
||||||
|
sup=`echo $sys | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
|
||||||
|
@@ -506,7 +507,7 @@ fi
|
||||||
|
|
||||||
|
# For historical reasons Go uses the suffix "timespec" instead of "tim" for
|
||||||
|
# stat_t's time fields on NetBSD.
|
||||||
|
-st_times='-e s/st_atim/Atim/ -e s/st_mtim/Mtim/ -e s/st_ctim/Ctim/'
|
||||||
|
+st_times='-e s/st_atim/Atim/g -e s/st_mtim/Mtim/g -e s/st_ctim/Ctim/g'
|
||||||
|
if test "${GOOS}" = "netbsd"; then
|
||||||
|
st_times='-e s/st_atim/Atimespec/ -e s/st_mtim/Mtimespec/ -e s/st_ctim/Ctimespec/'
|
||||||
|
fi
|
267
srcpkgs/gcc/patches/libatomic-autolink.patch
Normal file
267
srcpkgs/gcc/patches/libatomic-autolink.patch
Normal file
|
@ -0,0 +1,267 @@
|
||||||
|
Add --enable-autolink-libatomic, to make gcc link -latomic by default.
|
||||||
|
|
||||||
|
Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
|
||||||
|
|
||||||
|
From 573a66e4146c9a65d895af9081a4d3d49cfc9e7a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Drew DeVault <sir@cmpwn.com>
|
||||||
|
Date: Wed, 9 Dec 2020 16:07:26 +0000
|
||||||
|
Subject: [PATCH] configure: Add --enable-autolink-libatomic, use in
|
||||||
|
LINK_GCC_C_SEQUENCE_SPEC [PR81358]
|
||||||
|
|
||||||
|
This fixes issues with RISC-V.
|
||||||
|
---
|
||||||
|
Makefile.in | 1 +
|
||||||
|
gcc/config.in | 6 ++++++
|
||||||
|
gcc/config/gnu-user.h | 12 +++++++++++-
|
||||||
|
gcc/configure | 32 ++++++++++++++++++++++++++++++--
|
||||||
|
gcc/configure.ac | 22 +++++++++++++++++++++-
|
||||||
|
gcc/doc/install.texi | 8 ++++++++
|
||||||
|
gcc/doc/tm.texi | 8 +++++++-
|
||||||
|
gcc/doc/tm.texi.in | 8 +++++++-
|
||||||
|
gcc/gcc.cc | 12 +++++++++++-
|
||||||
|
9 files changed, 102 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile.in b/Makefile.in
|
||||||
|
index b564ddbf792..a95c7407d16 100644
|
||||||
|
--- a/Makefile.in
|
||||||
|
+++ b/Makefile.in
|
||||||
|
@@ -232,6 +232,7 @@ HOST_EXPORTS = \
|
||||||
|
RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
|
||||||
|
READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
|
||||||
|
TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
|
||||||
|
+ TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS; \
|
||||||
|
HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
|
||||||
|
GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
|
||||||
|
GMPINC="$(HOST_GMPINC)"; export GMPINC; \
|
||||||
|
diff --git a/gcc/config.in b/gcc/config.in
|
||||||
|
index f0fbf123aa8..af84efc4f9e 100644
|
||||||
|
--- a/gcc/config.in
|
||||||
|
+++ b/gcc/config.in
|
||||||
|
@@ -118,6 +118,12 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
+/* Define if libatomic should always be linked. */
|
||||||
|
+#ifndef USED_FOR_TARGET
|
||||||
|
+#undef ENABLE_AUTOLINK_LIBATOMIC
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+
|
||||||
|
/* Define to 1 to specify that we are using the BID decimal floating point
|
||||||
|
format instead of DPD */
|
||||||
|
#ifndef USED_FOR_TARGET
|
||||||
|
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
|
||||||
|
index 8433e56c3e1..0347f10da8b 100644
|
||||||
|
--- a/gcc/config/gnu-user.h
|
||||||
|
+++ b/gcc/config/gnu-user.h
|
||||||
|
@@ -109,8 +109,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
|
||||||
|
+# ifdef LD_AS_NEEDED_OPTION
|
||||||
|
+# define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
|
||||||
|
+# else
|
||||||
|
+# define LINK_LIBATOMIC_SPEC "-latomic"
|
||||||
|
+# endif
|
||||||
|
+#elif !defined(LINK_LIBATOMIC_SPEC)
|
||||||
|
+# define LINK_LIBATOMIC_SPEC ""
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
|
||||||
|
- "%{static|static-pie:--start-group} %G %{!nolibc:%L} \
|
||||||
|
+ "%{static|static-pie:--start-group} %G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L} \
|
||||||
|
%{static|static-pie:--end-group}%{!static:%{!static-pie:%G}}"
|
||||||
|
|
||||||
|
#undef LINK_GCC_C_SEQUENCE_SPEC
|
||||||
|
diff --git a/gcc/configure b/gcc/configure
|
||||||
|
index 2f6b3265a6c..6dc65bf4ccb 100755
|
||||||
|
--- a/gcc/configure
|
||||||
|
+++ b/gcc/configure
|
||||||
|
@@ -981,6 +981,7 @@ with_changes_root_url
|
||||||
|
enable_languages
|
||||||
|
with_multilib_list
|
||||||
|
with_multilib_generator
|
||||||
|
+enable_autolink_libatomic
|
||||||
|
with_zstd
|
||||||
|
with_zstd_include
|
||||||
|
with_zstd_lib
|
||||||
|
@@ -1710,6 +1711,9 @@ Optional Features:
|
||||||
|
--disable-shared don't provide a shared libgcc
|
||||||
|
--disable-gcov don't provide libgcov and related host tools
|
||||||
|
--enable-languages=LIST specify which front-ends to build
|
||||||
|
+ --enable-autolink-libatomic
|
||||||
|
+ enable automatic linking of libatomic (ignored if
|
||||||
|
+ not built)
|
||||||
|
--disable-rpath do not hardcode runtime library paths
|
||||||
|
--enable-sjlj-exceptions
|
||||||
|
arrange to use setjmp/longjmp exception handling
|
||||||
|
@@ -8324,7 +8328,6 @@ else
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
-
|
||||||
|
# Check whether --with-multilib-generator was given.
|
||||||
|
if test "${with_multilib_generator+set}" = set; then :
|
||||||
|
withval=$with_multilib_generator; :
|
||||||
|
@@ -8332,6 +8335,32 @@ else
|
||||||
|
with_multilib_generator=default
|
||||||
|
fi
|
||||||
|
|
||||||
|
+# If libatomic is available, whether it should be linked automatically
|
||||||
|
+# Check whether --enable-autolink-libatomic was given.
|
||||||
|
+if test "${enable_autolink_libatomic+set}" = set; then :
|
||||||
|
+ enableval=$enable_autolink_libatomic;
|
||||||
|
+ case $enable_autolink_libatomic in
|
||||||
|
+ yes | no) ;;
|
||||||
|
+ *) as_fn_error $? "'$enable_autolink_libatomic' is an invalid value for
|
||||||
|
+--enable-autolink-libatomic. Valid choices are 'yes' and 'no'." "$LINENO" 5 ;;
|
||||||
|
+ esac
|
||||||
|
+
|
||||||
|
+else
|
||||||
|
+ enable_autolink_libatomic=''
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+if test x$enable_autolink_libatomic = xyes; then
|
||||||
|
+ if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
|
||||||
|
+
|
||||||
|
+$as_echo "#define ENABLE_AUTOLINK_LIBATOMIC 1" >>confdefs.h
|
||||||
|
+
|
||||||
|
+ else
|
||||||
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&5
|
||||||
|
+$as_echo "$as_me: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&2;}
|
||||||
|
+ fi
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
|
||||||
|
# -------------------------
|
||||||
|
# Checks for other programs
|
||||||
|
@@ -34296,4 +34325,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
|
||||||
|
$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
|
||||||
|
fi
|
||||||
|
|
||||||
|
-
|
||||||
|
diff --git a/gcc/configure.ac b/gcc/configure.ac
|
||||||
|
index e683d3a7a5f..07c81c78336 100644
|
||||||
|
--- a/gcc/configure.ac
|
||||||
|
+++ b/gcc/configure.ac
|
||||||
|
@@ -1205,6 +1205,27 @@ AC_ARG_WITH(multilib-generator,
|
||||||
|
:,
|
||||||
|
with_multilib_generator=default)
|
||||||
|
|
||||||
|
+# If libatomic is available, whether it should be linked automatically
|
||||||
|
+AC_ARG_ENABLE(autolink-libatomic,
|
||||||
|
+[AS_HELP_STRING([--enable-autolink-libatomic],
|
||||||
|
+ [enable automatic linking of libatomic (ignored if not built)])],
|
||||||
|
+[
|
||||||
|
+ case $enable_autolink_libatomic in
|
||||||
|
+ yes | no) ;;
|
||||||
|
+ *) AC_MSG_ERROR(['$enable_autolink_libatomic' is an invalid value for
|
||||||
|
+--enable-autolink-libatomic. Valid choices are 'yes' and 'no'.]) ;;
|
||||||
|
+ esac
|
||||||
|
+], [enable_autolink_libatomic=''])
|
||||||
|
+
|
||||||
|
+if test x$enable_autolink_libatomic = xyes; then
|
||||||
|
+ if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
|
||||||
|
+ AC_DEFINE(ENABLE_AUTOLINK_LIBATOMIC, 1,
|
||||||
|
+ [Define if libatomic should always be linked.])
|
||||||
|
+ else
|
||||||
|
+ AC_MSG_WARN([libatomic is not build for this target, --enable-autolink-libatomic ignored])
|
||||||
|
+ fi
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
# -------------------------
|
||||||
|
# Checks for other programs
|
||||||
|
# -------------------------
|
||||||
|
@@ -7839,4 +7860,3 @@ done
|
||||||
|
],
|
||||||
|
[subdirs='$subdirs'])
|
||||||
|
AC_OUTPUT
|
||||||
|
-
|
||||||
|
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
|
||||||
|
index 48408d842db..c90be0ee750 100644
|
||||||
|
--- a/gcc/doc/install.texi
|
||||||
|
+++ b/gcc/doc/install.texi
|
||||||
|
@@ -2295,6 +2295,14 @@ files, but these changed header paths may conflict with some compilation
|
||||||
|
environments. Enabled by default, and may be disabled using
|
||||||
|
@option{--disable-canonical-system-headers}.
|
||||||
|
|
||||||
|
+@item --enable-autolink-libatomic
|
||||||
|
+@itemx --disable-autolink-libatomic
|
||||||
|
+Tell GCC that it should automatically link libatomic; if supported by
|
||||||
|
+the linker, the file is only linked as needed. This flag is ignored
|
||||||
|
+when libatomic is not built. Note that this conigure flag is in particular
|
||||||
|
+useful when building an offloading-target compiler; as for those, a
|
||||||
|
+user had to specify @code{-foffload=target=-latomic} otherwise.
|
||||||
|
+
|
||||||
|
@item --with-glibc-version=@var{major}.@var{minor}
|
||||||
|
Tell GCC that when the GNU C Library (glibc) is used on the target it
|
||||||
|
will be version @var{major}.@var{minor} or later. Normally this can
|
||||||
|
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
|
||||||
|
index c5006afc00d..56b62c69ae8 100644
|
||||||
|
--- a/gcc/doc/tm.texi
|
||||||
|
+++ b/gcc/doc/tm.texi
|
||||||
|
@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
|
||||||
|
|
||||||
|
@defmac LINK_GCC_C_SEQUENCE_SPEC
|
||||||
|
The sequence in which libgcc and libc are specified to the linker.
|
||||||
|
-By default this is @code{%G %L %G}.
|
||||||
|
+By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
|
||||||
|
+@end defmac
|
||||||
|
+
|
||||||
|
+@defmac LINK_LIBATOMIC_SPEC
|
||||||
|
+This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
|
||||||
|
+libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
|
||||||
|
+is set.
|
||||||
|
@end defmac
|
||||||
|
|
||||||
|
@defmac POST_LINK_SPEC
|
||||||
|
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
|
||||||
|
index f869ddd5e5b..57c93f24ac3 100644
|
||||||
|
--- a/gcc/doc/tm.texi.in
|
||||||
|
+++ b/gcc/doc/tm.texi.in
|
||||||
|
@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
|
||||||
|
|
||||||
|
@defmac LINK_GCC_C_SEQUENCE_SPEC
|
||||||
|
The sequence in which libgcc and libc are specified to the linker.
|
||||||
|
-By default this is @code{%G %L %G}.
|
||||||
|
+By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
|
||||||
|
+@end defmac
|
||||||
|
+
|
||||||
|
+@defmac LINK_LIBATOMIC_SPEC
|
||||||
|
+This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
|
||||||
|
+libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
|
||||||
|
+is set.
|
||||||
|
@end defmac
|
||||||
|
|
||||||
|
@defmac POST_LINK_SPEC
|
||||||
|
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
|
||||||
|
index 735b2b1bba1..f10f3c91aa7 100644
|
||||||
|
--- a/gcc/gcc.cc
|
||||||
|
+++ b/gcc/gcc.cc
|
||||||
|
@@ -987,13 +987,23 @@ proper position among the other output files. */
|
||||||
|
# define ASM_DEBUG_OPTION_SPEC ""
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
|
||||||
|
+# ifdef LD_AS_NEEDED_OPTION
|
||||||
|
+# define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
|
||||||
|
+# else
|
||||||
|
+# define LINK_LIBATOMIC_SPEC "-latomic"
|
||||||
|
+# endif
|
||||||
|
+#elif !defined(LINK_LIBATOMIC_SPEC)
|
||||||
|
+# define LINK_LIBATOMIC_SPEC ""
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
/* Here is the spec for running the linker, after compiling all files. */
|
||||||
|
|
||||||
|
/* This is overridable by the target in case they need to specify the
|
||||||
|
-lgcc and -lc order specially, yet not require them to override all
|
||||||
|
of LINK_COMMAND_SPEC. */
|
||||||
|
#ifndef LINK_GCC_C_SEQUENCE_SPEC
|
||||||
|
-#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
|
||||||
|
+#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L %G}"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef ENABLE_DEFAULT_SSP
|
58
srcpkgs/gcc/patches/libatomic-configure.patch
Normal file
58
srcpkgs/gcc/patches/libatomic-configure.patch
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
Fix gcc check to build libatomic properly with --enable-autolink-libatomic.
|
||||||
|
|
||||||
|
Taken from Alpine: https://git.alpinelinux.org/aports/tree/main/gcc/0036-configure-fix-detection-of-atomic-builtins-in-libato.patch
|
||||||
|
|
||||||
|
From 4baaeb9661fa4015d9701e3616ce1ad4e8a07fd8 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 33f8c91ce77..3999db2cf8a 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.
|
|
@ -195,17 +195,17 @@ do_configure() {
|
||||||
|
|
||||||
_hash=gnu
|
_hash=gnu
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard"; _hash=sysv;;
|
mipselhf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic"; _hash=sysv;;
|
||||||
mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft"; _hash=sysv;;
|
mipsel-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic"; _hash=sysv;;
|
||||||
mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard";;
|
mipshf-musl) _args+=" --with-arch=mips32r2 --with-float=hard --enable-autolink-libatomic";;
|
||||||
mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft";;
|
mips-musl) _args+=" --with-arch=mips32r2 --with-float=soft --enable-autolink-libatomic";;
|
||||||
armv5*) _args+=" --with-arch=armv5te --with-float=soft";;
|
armv5*) _args+=" --with-arch=armv5te --with-float=soft --enable-autolink-libatomic";;
|
||||||
armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard";;
|
armv6l*) _args+=" --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-autolink-libatomic";;
|
||||||
armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
|
armv7l*) _args+=" --with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard";;
|
||||||
aarch64*) _args+=" --with-arch=armv8-a";;
|
aarch64*) _args+=" --with-arch=armv8-a";;
|
||||||
ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";;
|
ppc64le*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpcle-linux";;
|
||||||
ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";;
|
ppc64*) _args+=" --with-abi=elfv2 --enable-secureplt --enable-targets=powerpc-linux";;
|
||||||
ppc*) _args+=" --enable-secureplt";;
|
ppc*) _args+=" --enable-secureplt --enable-autolink-libatomic";;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# on ppc64le-musl and all big endian ppc64
|
# on ppc64le-musl and all big endian ppc64
|
||||||
|
|
Loading…
Add table
Reference in a new issue