summaryrefslogtreecommitdiff
path: root/util/xcompile
diff options
context:
space:
mode:
authorStefan Tauner <stefan.tauner@gmx.at>2016-05-01 19:41:28 +0200
committerPatrick Georgi <pgeorgi@google.com>2016-05-03 04:16:24 +0200
commit98ab22711d6273e70c051a25ed7e76b215e700d5 (patch)
tree56e2d5815818214a0c0ddcfee704ce7ede3b069f /util/xcompile
parent2d67d125701a78f488d0478cbf0861b4cd193685 (diff)
downloadcoreboot-98ab22711d6273e70c051a25ed7e76b215e700d5.tar.gz
xcompile: test if gcc is really available
Just because an 'as' with a certain prefix is available does not guarantee that a 'gcc' with the same prefix is available as well. Without a check detect_compiler_runtime() would try to execute an unavailable binary and print something like this: .../xcompile: line 218: arm-linux-gnueabi-gcc: command not found Change-Id: Icbadfeb2860152f7cf7696a9122521d0d881f3aa Signed-off-by: Stefan Tauner <stefan.tauner@gmx.at> Reviewed-on: https://review.coreboot.org/14563 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'util/xcompile')
-rwxr-xr-xutil/xcompile/xcompile12
1 files changed, 6 insertions, 6 deletions
diff --git a/util/xcompile/xcompile b/util/xcompile/xcompile
index 8e1cd10364..13a0e8f581 100755
--- a/util/xcompile/xcompile
+++ b/util/xcompile/xcompile
@@ -149,9 +149,6 @@ testas() {
local obj_arch="$(expr "$obj_type" : '.*format \(.[a-z0-9-]*\)')"
[ "$obj_arch" = "$full_arch" ] || return 1
- # Architecture matched.
- GCCPREFIX="$gccprefix"
-
unset ASFLAGS LDFLAGS
unset CFLAGS_GCC CFLAGS_CLANG
@@ -414,10 +411,13 @@ test_architecture() {
for gccprefix in $search ""; do
program_exists "${gccprefix}as" || continue
for endian in $TENDIAN ""; do
+ { testas "$gccprefix" "$TWIDTH" "$TBFDARCH" \
+ "" "$endian" ||
testas "$gccprefix" "$TWIDTH" "$TBFDARCH" \
- "" "$endian" && break 3
- testas "$gccprefix" "$TWIDTH" "$TBFDARCH" \
- "TRUE" "$endian" && break 3
+ "TRUE" "$endian" ; } && \
+ testcc "${gccprefix}gcc" "$CFLAGS_GCC" && \
+ GCCPREFIX="$gccprefix" && \
+ break 3
done
done
done