summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-03-24 19:00:40 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-03-24 19:00:40 +0000
commita7689c2abcff4374b84d95fb2df980ec9a566965 (patch)
treec3a326274492772c07c074a813f1047d5d7f3d62 /eclass
parentb1193c219a8c8da6e1e76cb5d394da129abbca41 (diff)
gentoo auto-resync : 24:03:2024 - 19:00:40
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin39613 -> 39611 bytes
-rw-r--r--eclass/autotools.eclass2
-rw-r--r--eclass/libtool.eclass6
-rw-r--r--eclass/toolchain.eclass15
4 files changed, 15 insertions, 8 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index 343d6075e93c..d6e0f1ed4956 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 2290e8067813..1ced771c5345 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -149,7 +149,7 @@ if [[ -n ${WANT_AUTOCONF} ]] ; then
export WANT_AUTOCONF
fi
-_libtool_atom=">=dev-build/libtool-2.4.7"
+_libtool_atom=">=dev-build/libtool-2.4.7-r3"
if [[ -n ${WANT_LIBTOOL} ]] ; then
case ${WANT_LIBTOOL} in
none) _libtool_atom="" ;;
diff --git a/eclass/libtool.eclass b/eclass/libtool.eclass
index 9797b22aabff..bd6141e1ede9 100644
--- a/eclass/libtool.eclass
+++ b/eclass/libtool.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: libtool.eclass
@@ -18,8 +18,8 @@ if [[ -z ${_LIBTOOL_ECLASS} ]]; then
_LIBTOOL_ECLASS=1
case ${EAPI} in
- 6) DEPEND=">=app-portage/elt-patches-20170815" ;;
- 7|8) BDEPEND=">=app-portage/elt-patches-20170815" ;;
+ 6) DEPEND=">=app-portage/elt-patches-20240116" ;;
+ 7|8) BDEPEND=">=app-portage/elt-patches-20240116" ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 03e6a5d987d1..6a515f9b5c69 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1616,12 +1616,19 @@ gcc_do_filter_flags() {
[[ -z ${x} || ${x} -gt 64 ]] && break
l1_cache_size=$(taskset --cpu-list ${x} $(tc-getCC) -Q --help=params -O2 -march=native \
| awk '{ if ($1 ~ /^.*param.*l1-cache-size/) print $2; }' || die)
- [[ -n ${l1_cache_size} && ${l1_cache_size} =~ "^[0-9]+$" ]] || break
+ [[ -n ${l1_cache_size} && ${l1_cache_size} =~ ^[0-9]+$ ]] || break
l1_cache_sizes[${l1_cache_size}]=1
done
- # If any of them are different, just pick the first one.
- if [[ ${#l1_cache_sizes} -gt 1 ]] ; then
- append-flags --param=l1-cache-size=${l1_cache_size}
+ # If any of them are different, abort. We can't just pass one value of
+ # l1-cache-size because it doesn't cancel out the -march=native one.
+ if [[ ${#l1_cache_sizes[@]} -gt 1 ]] ; then
+ eerror "Different values of l1-cache-size detected!"
+ eerror "GCC will fail to bootstrap when comparing files with these flags."
+ eerror "This CPU is likely big.little/hybrid hardware with power/efficiency cores."
+ eerror "Please install app-misc/resolve-march-native and run 'resolve-march-native'"
+ eerror "to find a safe value of CFLAGS for this CPU. Note that this may vary"
+ eerror "depending on the core it ran on. taskset can be used to fix the cores used."
+ die "Varying l1-cache-size found, aborting (bug #915389, gcc PR#111768)"
fi
fi