On 8/7/23 01:26, Joel Stanley wrote:
On Sat, 5 Aug 2023 at 18:02, Richard Henderson
<richard.hender...@linaro.org> wrote:
Mirror the host_arch variable from meson.build, so that we
probe for the correct linux-user/include/host/ directory.
This broke all of the linux-user targets for me on a ppc64le host.
None show up when running configure --help, and trying to select one
with --target-list errors out:
ERROR: Unknown target name 'aarch64-linux-user'
Reverting this patch restores the old behaviour.
This test is the one that fails with the patch applied:
if [ "$linux_user" != no ]; then
if [ "$targetos" = linux ] && [ -d
"$source_path/linux-user/include/host/$host_arch" ]; then
linux_user=yes
WIth your patch $host_arch is ppc64le. Previously the line was:
if [ "$linux_user" != no ]; then
if [ "$targetos" = linux ] && [ -d
"$source_path/linux-user/include/host/$cpu" ]; then
linux_user=yes
The directory needs to be /linux-user/include/host/ppc64 for even for ppc64le.
You've put the new test just above the switch statement that does
normalisation of the host CPU name. Could add riscv to that switch
statement instead of adding the host_arch variable?
@@ -508,6 +501,9 @@ case "$cpu" in
cpu="ppc64"
CPU_CFLAGS="-m64 -mlittle-endian" ;;
+ riscv*)
+ cpu="riscv" ;;
+
s390)
CPU_CFLAGS="-m31" ;;
s390x)
Grr. No, I cannot simply do that, because passing "riscv" and not "riscv64" to meson also
breaks things. See e3e477c3 and 887cba85.
I'll figure out something else.
r~