configure: don't try a "native" cross for linux-user
As 32 bit x86 become rarer we are starting to run into problems with
search paths. Although we switched to a Debian container we still
favour the native CC on a Bookworm host. As a result we have a broken
cross compile setup which then fails to build with:
BUILD i386-linux-user guest-tests
In file included from /usr/include/linux/stat.h:5,
from /usr/include/bits/statx.h:31,
from /usr/include/sys/stat.h:465,
from /home/alex/lsrc/qemu.git/tests/tcg/multiarch/linux/linux-test.c:28:
/usr/include/linux/types.h:5:10: fatal error: asm/types.h: No such file or directory
5 | #include <asm/types.h>
| ^~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:119: linux-test] Error 1
make: *** [/home/alex/lsrc/qemu.git/tests/Makefile.include:50: build-tcg-tests-i386-linux-user] Error 2
This is likely to affect more and more linux-user builds so wrap the
whole check in a test for softmmu targets (aka bare metal) which don't
worry about such header niceties. This allows us to keep using the
host compiler for softmmu tests and the roms.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231120150833.2552739-14-alex.bennee@linaro.org>
This commit is contained in:
23
configure
vendored
23
configure
vendored
@@ -1391,16 +1391,19 @@ probe_target_compiler() {
|
||||
done
|
||||
|
||||
try=cross
|
||||
case "$target_arch:$cpu" in
|
||||
aarch64_be:aarch64 | \
|
||||
armeb:arm | \
|
||||
i386:x86_64 | \
|
||||
mips*:mips64 | \
|
||||
ppc*:ppc64 | \
|
||||
sparc:sparc64 | \
|
||||
"$cpu:$cpu")
|
||||
try='native cross' ;;
|
||||
esac
|
||||
# For softmmu/roms we might be able to use the host compiler
|
||||
if [ "${1%softmmu}" != "$1" ]; then
|
||||
case "$target_arch:$cpu" in
|
||||
aarch64_be:aarch64 | \
|
||||
armeb:arm | \
|
||||
i386:x86_64 | \
|
||||
mips*:mips64 | \
|
||||
ppc*:ppc64 | \
|
||||
sparc:sparc64 | \
|
||||
"$cpu:$cpu")
|
||||
try='native cross' ;;
|
||||
esac
|
||||
fi
|
||||
eval "target_cflags=\${cross_cc_cflags_$target_arch}"
|
||||
for thistry in $try; do
|
||||
case $thistry in
|
||||
|
||||
Reference in New Issue
Block a user