08.08.2023 15:03, Paolo Bonzini wrote:
The CPU model has to be canonicalized to what Meson wants in the cross
file, to what Linux uses for its asm-$ARCH directories, and to what
QEMU uses for its user-mode emulation host/$ARCH directories. Do
all three in a single case statement, and check that the Linux and
QEMU directories actually exist.
At a small cost in repeated lines, this ensures that there are no hidden
ordering requirements between the case statements. In particular, commit
89e5b7935e9 ("configure: Fix linux-user host detection for riscv64",
2023-08-06) broke ppc64le because it assigned host_arch based on a
non-canonicalized version of $cpu.
While doing this, I noticed that linux-user won't work on x32, alpha
and 32-bit s390 these days, due to missing common-user/ fragments.
The first two patches clean up the directories.
v1->v2: fix s390x compilation; rearrange case terminators
Paolo Bonzini (3):
configure: fix detection for x32 linux-user
linux-user: cleanup unused linux-user/include/host directories
configure: unify case statements for CPU canonicalization
configure | 173 ++++++++++++--------
linux-user/include/host/alpha/host-signal.h | 55 -------
linux-user/include/host/s390/host-signal.h | 138 ----------------
linux-user/include/host/s390x/host-signal.h | 139 +++++++++++++++-
linux-user/include/host/x32/host-signal.h | 1 -
5 files changed, 240 insertions(+), 266 deletions(-)
delete mode 100644 linux-user/include/host/alpha/host-signal.h
delete mode 100644 linux-user/include/host/s390/host-signal.h
delete mode 100644 linux-user/include/host/x32/host-signal.h
Tested-by: Michael Tokarev <m...@tls.msk.ru>
Tested on s390x and ppc64le hosts.
/mjt