On 8/7/23 10:39, Joel Stanley wrote:
-case "$cpu" in
- riscv*)
- host_arch=riscv ;;
- *)
- host_arch="$cpu" ;;
-esac
-
# Normalise host CPU name and set multilib cflags. The canonicalization
# isn't really necessary, because the architectures that we check for
# should not hit the 'uname -m' case, but better safe than sorry.
@@ -508,6 +501,9 @@ case "$cpu" in
cpu="ppc64"
CPU_CFLAGS="-m64 -mlittle-endian" ;;
+ riscv*)
+ cpu="riscv" ;;
+
This is also wrong because it confuses riscv32 and riscv64, which
matters both for tests/tcg, and when creating the Meson cross file[1]
Instead, the "case $cpu" that sets $host_arch must be placed after $cpu
is canonicalized (and possibly just before $host_arch is used to find
linux-user).
Even better, there is already a variable $linux_arch that has the same
meaning. I'll send a patch to unify the two.
Paolo
[1] https://mesonbuild.com/Reference-tables.html#cpu-families
s390)
CPU_CFLAGS="-m31" ;;
s390x)
@@ -810,7 +806,7 @@ default_target_list=""
mak_wilds=""
if [ "$linux_user" != no ]; then
- if [ "$targetos" = linux ] && [ -d
"$source_path/linux-user/include/host/$host_arch" ]; then
+ if [ "$targetos" = linux ] && [ -d
"$source_path/linux-user/include/host/$cpu" ]; then
linux_user=yes
elif [ "$linux_user" = yes ]; then