|
From: | Paolo Bonzini |
Subject: | Re: [PATCH] configure: Fix linux-user host detection for ppc64le |
Date: | Mon, 7 Aug 2023 10:54:07 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 |
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
[Prev in Thread] | Current Thread | [Next in Thread] |