`TARGET_ARCH` identifies a base architecture, not necessarily the full
system-emulation target. For example, `mipsel-softmmu` uses `TARGET_ARCH=mips`,
which caused `query-target` to report `mips` instead of `mipsel`.

Generate `TARGET_SYS_EMU` separately. Softmmu builds use the full target name,
as `SysEmuTarget` enumerates system targets. User-mode builds use
`TARGET_ARCH`: user target names such as `aarch64_be` and `mipsn32el` do not
have corresponding `SysEmuTarget` values. This means `mipsel-linux-user` now
reports the base architecture `mips` rather than `mipsel`; its executable name
remains unchanged. Initialize `TargetInfo.target_arch` from this token and add
a qtest to check the `query-target` result against the target name of the
running QEMU binary.

Yonggang Luo (4):
  Revert "target-info: Statically initialize target_arch"
  Revert "meson: Add TARGET_ARCH to config_target_data"
  tests/qtest: check query-target architecture
  target-info: preserve full softmmu target identity

 meson.build            | 11 +++++++++--
 target-info-stub.c     |  2 +-
 tests/qtest/qmp-test.c | 13 +++++++++++++
 3 files changed, 23 insertions(+), 3 deletions(-)

-- 
2.55.0.windows.3


Reply via email to