util/xcompile: Use a more complete clang target

When the compiler is used as a linker frontend clang tries to match the
target string with what it supports internally. If it's not sufficiently
complete it will forward linking to GCC which is not desirable. This is
necessary when doing LTO with clang.

Change-Id: Ie9356a2bc0f5b77e934cc16482d6ccb1961195dc
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80730
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Arthur Heymans
2024-02-23 16:44:37 +01:00
committed by Felix Singer
parent e9e31eb4b9
commit 97ed403650

View File

@@ -466,7 +466,7 @@ test_architecture() {
for clang_arch in $TCLIST invalid; do
for clang_prefix in $search $XGCCPATH "$GENERIC_COMPILER_PREFIX"; do
testcc "${clang_prefix}clang" "-target ${clang_arch}-$TABI -c" && break 2
testcc "${clang_prefix}clang" "-target ${clang_arch}-none-unknown-${TABI} -c" && break 2
done
done
@@ -475,7 +475,7 @@ test_architecture() {
# but that's more of a clang limitation. Let's be optimistic
# that this will change in the future.
CLANG="${clang_prefix}clang"
CLANG_TARGET="-target ${clang_arch}-${TABI}"
CLANG_TARGET="-target ${clang_arch}-none-unknown-${TABI}"
CFLAGS_CLANG="$CLANG_TARGET $CFLAGS_CLANG"
CPPFLAGS_CLANG="$CLANG_TARGET $CPPFLAGS_CLANG"
fi