configure: detect 64-bit MIPS
While right now 64-bit MIPS and 32-bit MIPS share the code in QEMU, Rust uses different rules for the target. Set $cpu correctly to either mips or mips64 (--cpu=mips64* is already accepted in the case statement that canonicalizes cpu/host_arch/linux_arch), and adjust the checks to account for the different between $cpu (which handles mips/mips64 separately) and $host_arch (which does not). Fixes: 1a6ef6ff624 ("configure, meson: detect Rust toolchain", 2024-10-11) Acked-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
b57e4e785b
commit
0665b3f992
10
configure
vendored
10
configure
vendored
@ -395,7 +395,11 @@ elif check_define _ARCH_PPC ; then
|
|||||||
cpu="ppc"
|
cpu="ppc"
|
||||||
fi
|
fi
|
||||||
elif check_define __mips__ ; then
|
elif check_define __mips__ ; then
|
||||||
cpu="mips"
|
if check_define __mips64 ; then
|
||||||
|
cpu="mips64"
|
||||||
|
else
|
||||||
|
cpu="mips"
|
||||||
|
fi
|
||||||
elif check_define __s390__ ; then
|
elif check_define __s390__ ; then
|
||||||
if check_define __s390x__ ; then
|
if check_define __s390x__ ; then
|
||||||
cpu="s390x"
|
cpu="s390x"
|
||||||
@ -1230,7 +1234,7 @@ EOF
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case "$host_arch" in
|
case "$cpu" in
|
||||||
arm)
|
arm)
|
||||||
# e.g. arm-unknown-linux-gnueabi, arm-unknown-linux-gnueabihf
|
# e.g. arm-unknown-linux-gnueabi, arm-unknown-linux-gnueabihf
|
||||||
write_c_skeleton
|
write_c_skeleton
|
||||||
@ -1278,7 +1282,7 @@ EOF
|
|||||||
test "$rust_arch" = arm && test "$rust_os" != linux && rust_arch=armv7
|
test "$rust_arch" = arm && test "$rust_os" != linux && rust_arch=armv7
|
||||||
;;
|
;;
|
||||||
|
|
||||||
mips|mips64)
|
mips)
|
||||||
# preserve ISA version (mipsisa64r6 etc.) and include endianness
|
# preserve ISA version (mipsisa64r6 etc.) and include endianness
|
||||||
rust_arch=${raw_cpu%el}
|
rust_arch=${raw_cpu%el}
|
||||||
test "$bigendian" = no && rust_arch=${rust_arch}el
|
test "$bigendian" = no && rust_arch=${rust_arch}el
|
||||||
|
Loading…
x
Reference in New Issue
Block a user