aboutsummaryrefslogtreecommitdiff
path: root/tests/tcg/configure.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tcg/configure.sh')
-rwxr-xr-xtests/tcg/configure.sh42
1 files changed, 38 insertions, 4 deletions
diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh
index ce304f4933..fa1a4261a4 100755
--- a/tests/tcg/configure.sh
+++ b/tests/tcg/configure.sh
@@ -52,7 +52,7 @@ fi
: ${cross_cc_hexagon="hexagon-unknown-linux-musl-clang"}
: ${cross_cc_cflags_hexagon="-mv67 -O2 -static"}
: ${cross_cc_hppa="hppa-linux-gnu-gcc"}
-: ${cross_cc_i386="i386-pc-linux-gnu-gcc"}
+: ${cross_cc_i386="i686-linux-gnu-gcc"}
: ${cross_cc_cflags_i386="-m32"}
: ${cross_cc_m68k="m68k-linux-gnu-gcc"}
: $(cross_cc_mips64el="mips64el-linux-gnuabi64-gcc")
@@ -69,7 +69,7 @@ fi
: ${cross_cc_cflags_sparc="-m32 -mv8plus -mcpu=ultrasparc"}
: ${cross_cc_sparc64="sparc64-linux-gnu-gcc"}
: ${cross_cc_cflags_sparc64="-m64 -mcpu=ultrasparc"}
-: ${cross_cc_x86_64="x86_64-pc-linux-gnu-gcc"}
+: ${cross_cc_x86_64="x86_64-linux-gnu-gcc"}
: ${cross_cc_cflags_x86_64="-m64"}
for target in $target_list; do
@@ -108,79 +108,103 @@ for target in $target_list; do
case $target in
aarch64-*)
# We don't have any bigendian build tools so we only use this for AArch64
+ container_hosts="x86_64 aarch64"
container_image=debian-arm64-test-cross
container_cross_cc=aarch64-linux-gnu-gcc-10
;;
alpha-*)
+ container_hosts=x86_64
container_image=debian-alpha-cross
container_cross_cc=alpha-linux-gnu-gcc
;;
arm-*)
# We don't have any bigendian build tools so we only use this for ARM
+ container_hosts="x86_64 aarch64"
container_image=debian-armhf-cross
container_cross_cc=arm-linux-gnueabihf-gcc
;;
cris-*)
+ container_hosts=x86_64
container_image=fedora-cris-cross
container_cross_cc=cris-linux-gnu-gcc
;;
hppa-*)
+ container_hosts=x86_64
container_image=debian-hppa-cross
container_cross_cc=hppa-linux-gnu-gcc
;;
i386-*)
+ container_hosts=x86_64
container_image=fedora-i386-cross
container_cross_cc=gcc
;;
m68k-*)
+ container_hosts=x86_64
container_image=debian-m68k-cross
container_cross_cc=m68k-linux-gnu-gcc
;;
mips64el-*)
+ container_hosts=x86_64
container_image=debian-mips64el-cross
container_cross_cc=mips64el-linux-gnuabi64-gcc
;;
mips64-*)
+ container_hosts=x86_64
container_image=debian-mips64-cross
container_cross_cc=mips64-linux-gnuabi64-gcc
;;
mipsel-*)
+ container_hosts=x86_64
container_image=debian-mipsel-cross
container_cross_cc=mipsel-linux-gnu-gcc
;;
mips-*)
+ container_hosts=x86_64
container_image=debian-mips-cross
container_cross_cc=mips-linux-gnu-gcc
;;
ppc-*|ppc64abi32-*)
+ container_hosts=x86_64
container_image=debian-powerpc-cross
container_cross_cc=powerpc-linux-gnu-gcc
;;
ppc64-*)
+ container_hosts=x86_64
container_image=debian-ppc64-cross
container_cross_cc=powerpc64-linux-gnu-gcc
;;
ppc64le-*)
+ container_hosts=x86_64
container_image=debian-ppc64el-cross
container_cross_cc=powerpc64le-linux-gnu-gcc
;;
riscv64-*)
+ container_hosts=x86_64
container_image=debian-riscv64-cross
container_cross_cc=riscv64-linux-gnu-gcc
;;
s390x-*)
+ container_hosts=x86_64
container_image=debian-s390x-cross
container_cross_cc=s390x-linux-gnu-gcc
;;
sh4-*)
+ container_hosts=x86_64
container_image=debian-sh4-cross
container_cross_cc=sh4-linux-gnu-gcc
;;
sparc64-*)
+ container_hosts=x86_64
container_image=debian-sparc64-cross
container_cross_cc=sparc64-linux-gnu-gcc
;;
+ x86_64-*)
+ container_hosts="aarch64 ppc64el x86_64"
+ container_image=debian-amd64-cross
+ container_cross_cc=x86_64-linux-gnu-gcc
+ ;;
xtensa*-softmmu)
+ container_hosts=x86_64
container_image=debian-xtensa-cross
# default to the dc232b cpu
@@ -257,6 +281,12 @@ for target in $target_list; do
echo "CROSS_CC_HAS_POWER8_VECTOR=y" >> $config_target_mak
fi
;;
+ i386-linux-user)
+ if do_compiler "$target_compiler" $target_compiler_cflags \
+ -Werror -fno-pie -o $TMPE $TMPC; then
+ echo "CROSS_CC_HAS_I386_NOPIE=y" >> $config_target_mak
+ fi
+ ;;
esac
enabled_cross_compilers="$enabled_cross_compilers $target_compiler"
@@ -265,7 +295,11 @@ for target in $target_list; do
done
if test $got_cross_cc = no && test "$container" != no && test -n "$container_image"; then
- echo "DOCKER_IMAGE=$container_image" >> $config_target_mak
- echo "DOCKER_CROSS_CC_GUEST=$container_cross_cc" >> $config_target_mak
+ for host in $container_hosts; do
+ if test "$host" = "$ARCH"; then
+ echo "DOCKER_IMAGE=$container_image" >> $config_target_mak
+ echo "DOCKER_CROSS_CC_GUEST=$container_cross_cc" >> $config_target_mak
+ fi
+ done
fi
done