`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
