summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin39537 -> 39545 bytes
-rw-r--r--eclass/cargo.eclass4
-rw-r--r--eclass/dist-kernel-utils.eclass18
-rw-r--r--eclass/kernel-install.eclass2
-rw-r--r--eclass/llvm.org.eclass3
-rw-r--r--eclass/toolchain.eclass12
6 files changed, 32 insertions, 7 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index 6b53949a5889..bc988e6ea92b 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 6d4cf1b425eb..3a63e5027250 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -324,9 +324,7 @@ _cargo_gen_git_config() {
# Return the directory within target that contains the build, e.g.
# target/aarch64-unknown-linux-gnu/release.
cargo_target_dir() {
- local abi
- tc-is-cross-compiler && abi=/$(rust_abi)
- echo "${CARGO_TARGET_DIR:-target}${abi}/$(usex debug debug release)"
+ echo "${CARGO_TARGET_DIR:-target}/$(rust_abi)/$(usex debug debug release)"
}
# @FUNCTION: cargo_src_unpack
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 0b0eb0ec8818..bb058d488a13 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -160,7 +160,7 @@ dist-kernel_PV_to_KV() {
}
# @FUNCTION: dist-kernel_get_module_suffix
-# @USAGE: <kernel_dir>
+# @USAGE: <kernel_config>
# @DESCRIPTION:
# Returns the suffix for kernel modules based on the CONFIG_MODULES_COMPESS_*
# setting in the kernel config and USE=modules-compress.
@@ -169,7 +169,7 @@ dist-kernel_get_module_suffix() {
[[ ${#} -eq 1 ]] || die "${FUNCNAME}: invalid arguments"
- local config=${1}/.config
+ local config=${1}
if ! in_iuse modules-compress || ! use modules-compress; then
echo .ko
@@ -198,7 +198,19 @@ dist-kernel_compressed_module_cleanup() {
[[ ${#} -ne 1 ]] && die "${FUNCNAME}: invalid arguments"
local path=${1}
- local preferred=$(dist-kernel_get_module_suffix "${path}/source")
+ local config_path=/usr/src/linux-${KV_FULL}/.config
+
+ local option
+ for option in config source/.config build/.config; do
+ if [[ -f ${path}/${option} ]]; then
+ config_path=${path}/${option}
+ break
+ fi
+ done
+
+ local preferred=
+ [[ -f ${config_path} ]] && preferred=$(dist-kernel_get_module_suffix "${config_path}")
+
local basename suffix
while read -r basename; do
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index c64dd673084b..496e258815d2 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -769,7 +769,7 @@ kernel-install_compress_modules() {
if [[ -z ${KV_FULL} ]]; then
KV_FULL=${PV}${KV_LOCALVERSION}
fi
- local suffix=$(dist-kernel_get_module_suffix "${ED}/usr/src/linux-${KV_FULL}")
+ local suffix=$(dist-kernel_get_module_suffix "${ED}/usr/src/linux-${KV_FULL}/.config")
local compress=()
# Options taken from linux-mod-r1.eclass.
# We don't instruct the compressor to parallelize because it applies
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index d705947ce0d2..d1c169264662 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
+ 20.0.0_pre20240808)
+ EGIT_COMMIT=fd7d7882e7fa5a38d4bfde426120d4663718beb4
+ ;;
20.0.0_pre20240801)
EGIT_COMMIT=130c135689ec12ab78c53645808524a8d28f7cae
;;
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 9bbe0cb7e0af..89af435dfbf6 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1927,6 +1927,13 @@ toolchain_src_test() {
# Unexpected warnings confuse the tests.
filter-flags -W*
+ # May break parsing.
+ filter-flags '-fdiagnostics-color=*' '-fdiagnostics-urls=*'
+
+ # Gentoo QA flags which don't belong in tests
+ filter-flags -frecord-gcc-switches
+ filter-flags '-Wl,--defsym=__gentoo_check_ldflags__=0'
+
# Workaround our -Wformat-security default which breaks
# various tests as it adds unexpected warning output.
# (Only for C/C++ here to avoid noise for Fortran.)
@@ -1956,7 +1963,12 @@ toolchain_src_test() {
# Go doesn't support this and causes noisy warnings
filter-flags -Wbuiltin-declaration-mismatch
+ # configure defaults to '-O2 -g' and some tests expect it
+ # accordingly.
+ append-flags -g
+
# TODO: Does this handle s390 (-m31) correctly?
+ # TODO: What if there are multiple ABIs like x32 too?
is_multilib && GCC_TESTS_RUNTESTFLAGS+=" --target_board=unix{,-m32}"
# nonfatal here as we die if the comparison below fails. Also, note that