MAINTAINERS | 4 +- docs/devel/build-system.rst | 4 +- docs/devel/testing/main.rst | 35 +- configure | 530 +---------- tests/tcg/s390x/pgm-specification.mak | 15 - meson.build | 21 +- plugins/api.c | 2 + tests/tcg/aarch64/system/gpc-test.c | 5 - tests/tcg/arm/fcvt.c | 6 +- tests/tcg/hexagon/overflow.c | 1 + tests/tcg/multiarch/sha1.c | 1 + tests/tcg/multiarch/system/memory.c | 3 +- tests/tcg/or1k/test_addic.c | 2 +- tests/tcg/or1k/test_muli.c | 5 +- tests/tcg/ppc64/vector.c | 11 +- tests/tcg/ppc64/vsx_f2i_nan.c | 7 +- tests/tcg/s390x/console.c | 30 +- tests/tcg/test_cc.c | 9 + tests/lcitool/refresh | 14 +- .../dockerfiles/debian-all-test-cross.docker | 14 +- .../docker/dockerfiles/debian-xtensa-cross.docker | 4 +- meson_options.txt | 95 +- pythondeps.toml | 2 +- scripts/probe-gdb-support.py | 1 + tests/Makefile.include | 68 +- tests/docker/docker.py | 4 +- tests/meson.build | 2 +- tests/tcg/Makefile.target | 281 ------ tests/tcg/aarch64/Makefile.softmmu-target | 147 --- tests/tcg/aarch64/Makefile.target | 211 ----- tests/tcg/aarch64/meson.build | 210 +++++ tests/tcg/aarch64/system/meson.build | 109 +++ tests/tcg/aarch64_be/Makefile.target | 17 - tests/tcg/aarch64_be/meson.build | 22 + tests/tcg/alpha/Makefile.softmmu-target | 34 - tests/tcg/alpha/Makefile.target | 18 - tests/tcg/alpha/float_convd.ref | 988 +++++++++++++++++++++ tests/tcg/alpha/float_convs.ref | 748 ++++++++++++++++ tests/tcg/alpha/float_madds.ref | 768 ++++++++++++++++ tests/tcg/alpha/meson.build | 55 ++ tests/tcg/alpha/system/meson.build | 47 + tests/tcg/arm/Makefile.softmmu-target | 80 -- tests/tcg/arm/Makefile.target | 87 -- tests/tcg/arm/meson.build | 80 ++ tests/tcg/arm/system/meson.build | 69 ++ tests/tcg/hexagon/Makefile.target | 166 ---- tests/tcg/hexagon/meson.build | 120 +++ tests/tcg/hppa/Makefile.target | 14 - tests/tcg/hppa/float_convd.ref | 988 +++++++++++++++++++++ tests/tcg/hppa/float_convs.ref | 748 ++++++++++++++++ tests/tcg/hppa/float_madds.ref | 768 ++++++++++++++++ tests/tcg/hppa/meson.build | 22 + tests/tcg/i386/Makefile.softmmu-target | 37 - tests/tcg/i386/Makefile.target | 102 --- tests/tcg/i386/float_convd.conf | 988 --------------------- tests/tcg/i386/float_convd.ref | 988 +++++++++++++++++++++ tests/tcg/i386/float_madds.ref | 768 ++++++++++++++++ tests/tcg/i386/meson.build | 58 ++ tests/tcg/i386/system/meson.build | 49 + tests/tcg/loongarch64/Makefile.softmmu-target | 33 - tests/tcg/loongarch64/Makefile.target | 20 - tests/tcg/loongarch64/meson.build | 32 + tests/tcg/loongarch64/system/meson.build | 48 + tests/tcg/m68k/Makefile.target | 7 - tests/tcg/m68k/float_convd.ref | 988 +++++++++++++++++++++ tests/tcg/m68k/float_convs.ref | 748 ++++++++++++++++ tests/tcg/m68k/float_madds.ref | 768 ++++++++++++++++ tests/tcg/m68k/meson.build | 23 + tests/tcg/meson.build | 513 +++++++++++ tests/tcg/minilib/Makefile.target | 21 - tests/tcg/mips/Makefile.target | 19 - tests/tcg/mips/float_convd.ref | 988 +++++++++++++++++++++ tests/tcg/mips/float_convs.ref | 748 ++++++++++++++++ tests/tcg/mips/float_madds.ref | 768 ++++++++++++++++ tests/tcg/mips/meson.build | 25 + tests/tcg/mips64/Makefile.target | 20 - tests/tcg/mips64/float_convd.ref | 988 +++++++++++++++++++++ tests/tcg/mips64/float_convs.ref | 748 ++++++++++++++++ tests/tcg/mips64/float_madds.ref | 768 ++++++++++++++++ tests/tcg/mips64/meson.build | 27 + tests/tcg/mips64el/Makefile.target | 8 - tests/tcg/mips64el/float_convd.ref | 988 +++++++++++++++++++++ tests/tcg/mips64el/float_convs.ref | 748 ++++++++++++++++ tests/tcg/mips64el/float_madds.ref | 768 ++++++++++++++++ tests/tcg/mips64el/meson.build | 14 + tests/tcg/multiarch/Makefile.target | 224 ----- tests/tcg/multiarch/gdbstub/prot-none.py | 42 +- tests/tcg/multiarch/meson.build | 149 ++++ tests/tcg/multiarch/plugin/check-plugin-output.sh | 36 - tests/tcg/multiarch/plugin/regex-compare.sh | 28 + tests/tcg/multiarch/sha1.ref | 1 + tests/tcg/multiarch/system/Makefile.softmmu-target | 81 -- tests/tcg/multiarch/system/meson.build | 53 ++ tests/tcg/or1k/Makefile | 71 -- tests/tcg/or1k/float_convd.ref | 247 ++++++ tests/tcg/or1k/float_convs.ref | 187 ++++ tests/tcg/or1k/float_madds.ref | 192 ++++ tests/tcg/or1k/meson.build | 72 ++ tests/tcg/plugins/meson.build | 11 +- tests/tcg/ppc64/Makefile.target | 63 -- tests/tcg/ppc64/float_convd.ref | 988 +++++++++++++++++++++ tests/tcg/ppc64/float_convs.ref | 748 ++++++++++++++++ tests/tcg/ppc64/float_madds.ref | 768 ++++++++++++++++ tests/tcg/ppc64/meson.build | 56 ++ tests/tcg/ppc64le/Makefile.target | 7 - tests/tcg/ppc64le/float_convd.ref | 988 +++++++++++++++++++++ tests/tcg/ppc64le/meson.build | 14 + tests/tcg/riscv64/Makefile.target | 20 - tests/tcg/riscv64/float_convd.ref | 988 +++++++++++++++++++++ tests/tcg/riscv64/float_convs.ref | 748 ++++++++++++++++ tests/tcg/riscv64/float_madds.ref | 768 ++++++++++++++++ tests/tcg/riscv64/meson.build | 38 + tests/tcg/riscv64/system/meson.build | 76 ++ tests/tcg/s390x/Makefile.softmmu-target | 57 -- tests/tcg/s390x/Makefile.target | 129 --- tests/tcg/s390x/float_convd.ref | 988 +++++++++++++++++++++ tests/tcg/s390x/float_convs.ref | 748 ++++++++++++++++ tests/tcg/s390x/float_madds.ref | 768 ++++++++++++++++ tests/tcg/s390x/head64.S | 2 + tests/tcg/s390x/meson.build | 142 +++ tests/tcg/s390x/system/meson.build | 92 ++ tests/tcg/scripts/check_plugin_output.sh | 25 + tests/tcg/scripts/record_replay.sh | 16 + .../tcg/scripts/run_and_check_forbidden_output.sh | 19 + tests/tcg/scripts/run_and_diff.sh | 15 + tests/tcg/scripts/run_with_input.sh | 12 + tests/tcg/sh4/Makefile.target | 18 - tests/tcg/sh4/float_convd.ref | 494 +++++++++++ tests/tcg/sh4/float_convs.ref | 374 ++++++++ tests/tcg/sh4/float_madds.ref | 384 ++++++++ tests/tcg/sh4/meson.build | 25 + tests/tcg/tricore/Makefile.softmmu-target | 53 -- tests/tcg/tricore/meson.build | 57 ++ tests/tcg/x86_64/Makefile.softmmu-target | 44 - tests/tcg/x86_64/Makefile.target | 41 - tests/tcg/x86_64/float_madds.ref | 768 ++++++++++++++++ tests/tcg/x86_64/meson.build | 84 ++ tests/tcg/x86_64/system/meson.build | 63 ++ tests/tcg/xtensa/Makefile.softmmu-target | 46 - tests/tcg/xtensa/crt.S | 1 + tests/tcg/xtensa/meson.build | 110 +++ tests/tcg/xtensaeb/Makefile.softmmu-target | 5 - 142 files changed, 30884 insertions(+), 3868 deletions(-) delete mode 100644 tests/tcg/s390x/pgm-specification.mak create mode 100644 tests/tcg/test_cc.c delete mode 100644 tests/tcg/Makefile.target delete mode 100644 tests/tcg/aarch64/Makefile.softmmu-target delete mode 100644 tests/tcg/aarch64/Makefile.target create mode 100644 tests/tcg/aarch64/meson.build create mode 100644 tests/tcg/aarch64/system/meson.build delete mode 100644 tests/tcg/aarch64_be/Makefile.target create mode 100644 tests/tcg/aarch64_be/meson.build delete mode 100644 tests/tcg/alpha/Makefile.softmmu-target delete mode 100644 tests/tcg/alpha/Makefile.target create mode 100644 tests/tcg/alpha/float_convd.ref create mode 100644 tests/tcg/alpha/float_convs.ref create mode 100644 tests/tcg/alpha/float_madds.ref create mode 100644 tests/tcg/alpha/meson.build create mode 100644 tests/tcg/alpha/system/meson.build delete mode 100644 tests/tcg/arm/Makefile.softmmu-target delete mode 100644 tests/tcg/arm/Makefile.target create mode 100644 tests/tcg/arm/meson.build create mode 100644 tests/tcg/arm/system/meson.build delete mode 100644 tests/tcg/hexagon/Makefile.target create mode 100644 tests/tcg/hexagon/meson.build delete mode 100644 tests/tcg/hppa/Makefile.target create mode 100644 tests/tcg/hppa/float_convd.ref create mode 100644 tests/tcg/hppa/float_convs.ref create mode 100644 tests/tcg/hppa/float_madds.ref create mode 100644 tests/tcg/hppa/meson.build delete mode 100644 tests/tcg/i386/Makefile.softmmu-target delete mode 100644 tests/tcg/i386/Makefile.target delete mode 100644 tests/tcg/i386/float_convd.conf create mode 100644 tests/tcg/i386/float_convd.ref create mode 100644 tests/tcg/i386/float_madds.ref create mode 100644 tests/tcg/i386/meson.build create mode 100644 tests/tcg/i386/system/meson.build delete mode 100644 tests/tcg/loongarch64/Makefile.softmmu-target delete mode 100644 tests/tcg/loongarch64/Makefile.target create mode 100644 tests/tcg/loongarch64/meson.build create mode 100644 tests/tcg/loongarch64/system/meson.build delete mode 100644 tests/tcg/m68k/Makefile.target create mode 100644 tests/tcg/m68k/float_convd.ref create mode 100644 tests/tcg/m68k/float_convs.ref create mode 100644 tests/tcg/m68k/float_madds.ref create mode 100644 tests/tcg/m68k/meson.build create mode 100644 tests/tcg/meson.build delete mode 100644 tests/tcg/minilib/Makefile.target delete mode 100644 tests/tcg/mips/Makefile.target create mode 100644 tests/tcg/mips/float_convd.ref create mode 100644 tests/tcg/mips/float_convs.ref create mode 100644 tests/tcg/mips/float_madds.ref create mode 100644 tests/tcg/mips/meson.build delete mode 100644 tests/tcg/mips64/Makefile.target create mode 100644 tests/tcg/mips64/float_convd.ref create mode 100644 tests/tcg/mips64/float_convs.ref create mode 100644 tests/tcg/mips64/float_madds.ref create mode 100644 tests/tcg/mips64/meson.build delete mode 100644 tests/tcg/mips64el/Makefile.target create mode 100644 tests/tcg/mips64el/float_convd.ref create mode 100644 tests/tcg/mips64el/float_convs.ref create mode 100644 tests/tcg/mips64el/float_madds.ref create mode 100644 tests/tcg/mips64el/meson.build delete mode 100644 tests/tcg/multiarch/Makefile.target create mode 100644 tests/tcg/multiarch/meson.build delete mode 100755 tests/tcg/multiarch/plugin/check-plugin-output.sh create mode 100755 tests/tcg/multiarch/plugin/regex-compare.sh create mode 100644 tests/tcg/multiarch/sha1.ref delete mode 100644 tests/tcg/multiarch/system/Makefile.softmmu-target create mode 100644 tests/tcg/multiarch/system/meson.build delete mode 100644 tests/tcg/or1k/Makefile create mode 100644 tests/tcg/or1k/float_convd.ref create mode 100644 tests/tcg/or1k/float_convs.ref create mode 100644 tests/tcg/or1k/float_madds.ref create mode 100644 tests/tcg/or1k/meson.build delete mode 100644 tests/tcg/ppc64/Makefile.target create mode 100644 tests/tcg/ppc64/float_convd.ref create mode 100644 tests/tcg/ppc64/float_convs.ref create mode 100644 tests/tcg/ppc64/float_madds.ref create mode 100644 tests/tcg/ppc64/meson.build delete mode 100644 tests/tcg/ppc64le/Makefile.target create mode 100644 tests/tcg/ppc64le/float_convd.ref create mode 100644 tests/tcg/ppc64le/meson.build delete mode 100644 tests/tcg/riscv64/Makefile.target create mode 100644 tests/tcg/riscv64/float_convd.ref create mode 100644 tests/tcg/riscv64/float_convs.ref create mode 100644 tests/tcg/riscv64/float_madds.ref create mode 100644 tests/tcg/riscv64/meson.build create mode 100644 tests/tcg/riscv64/system/meson.build delete mode 100644 tests/tcg/s390x/Makefile.softmmu-target delete mode 100644 tests/tcg/s390x/Makefile.target create mode 100644 tests/tcg/s390x/float_convd.ref create mode 100644 tests/tcg/s390x/float_convs.ref create mode 100644 tests/tcg/s390x/float_madds.ref create mode 100644 tests/tcg/s390x/meson.build create mode 100644 tests/tcg/s390x/system/meson.build create mode 100755 tests/tcg/scripts/check_plugin_output.sh create mode 100755 tests/tcg/scripts/record_replay.sh create mode 100755 tests/tcg/scripts/run_and_check_forbidden_output.sh create mode 100755 tests/tcg/scripts/run_and_diff.sh create mode 100755 tests/tcg/scripts/run_with_input.sh delete mode 100644 tests/tcg/sh4/Makefile.target create mode 100644 tests/tcg/sh4/float_convd.ref create mode 100644 tests/tcg/sh4/float_convs.ref create mode 100644 tests/tcg/sh4/float_madds.ref create mode 100644 tests/tcg/sh4/meson.build delete mode 100644 tests/tcg/tricore/Makefile.softmmu-target create mode 100644 tests/tcg/tricore/meson.build delete mode 100644 tests/tcg/x86_64/Makefile.softmmu-target delete mode 100644 tests/tcg/x86_64/Makefile.target create mode 100644 tests/tcg/x86_64/float_madds.ref create mode 100644 tests/tcg/x86_64/meson.build create mode 100644 tests/tcg/x86_64/system/meson.build delete mode 100644 tests/tcg/xtensa/Makefile.softmmu-target create mode 100644 tests/tcg/xtensa/meson.build delete mode 100644 tests/tcg/xtensaeb/Makefile.softmmu-target
The following changes since commit d2843fbf80260e4346c856819e8cea11768c9d0e:
Merge tag 'pull-riscv-to-apply-20260904' of https://github.com/alistair23/qemu into staging (2026-09-04 09:43:27 +0100)
are available in the Git repository at:
https://gitlab.com/stsquad/qemu.git tags/pull-11.1-check-tcg-meson-040926-2
for you to fetch changes up to 7a485176838e6b6044e73f925d308bb4b3002597:
MAINTAINERS: add maintainer for tcg/tests meson infrastructure (2026-09-04 16:06:22 +0100)
----------------------------------------------------------------
tests/tcg: conversion to meson
- remove unused variable from multiarch/memory
- standardise checking plugin output
- bump minimal meson to 1.6.0
- introduce meson plumbing for check-tcg
- return error code if docker probe fails
- add CI/self/mem test to gdbstub prot-none tests
- use raw opcode for fprcvt test in arm
- remove unused variables from gpc-test
- teach probe-gdb-support about mips
- identify or1k pc register
- port check-tcg logic to meson (all targets)
- update documentation
- add Pierrick as a maintainer for tests/tcg
----------------------------------------------------------------
Pierrick Bouvier (105):
tests/tcg/multiarch/system/memory.c: remove unused variable
tests/tcg/multiarch/plugin/check-plugin-output.sh: take test output as input
tests/tcg/multiarch/plugin: rename check-plugin-output to regex-compare
meson: bump minimal version to 1.6.0
tests/tcg: introduce meson.build
tests/tcg/meson.build: introduce exe_name
tests/tcg/meson.build: introduce test_name
tests/tcg/meson.build: introduce cflags
tests/tcg/meson.build: introduce qemu_args
tests/tcg/meson.build: introduce env_var
tests/tcg/plugins: build list of test_plugins
tests/tcg/meson.build: introduce plugin_test
tests/tcg/meson.build: test gdb support and introduce gdb_arch
tests/tcg/meson.build: introduce gdb_test
tests/tcg/meson.build: introduce wrapper
tests/tcg/meson.build: introduce expected_output
tests/tcg/meson.build: add wrapper run_and_check_forbidden_output
tests/tcg/meson.build: add wrapper run_with_input
tests/tcg/meson.build: add wrapper record_replay
tests/tcg/meson.build: add wrapper check_plugin_output
tests/tcg/meson.build: add logic to skip tests
tests/tcg/meson.build: introduce cc_feat and cc_feat_cflags
tests/tcg/meson.build: introduce gdb_feat and gdb_feat_version
tests/tcg/meson.build: move gdb_arch support check
tests/tcg/meson.build: let test infrastructure detect compiler
tests/docker/docker.py: return error code if probe fails
tests/docker/docker.py: remove "Image is up to date" info
tests/tcg/meson.build: introduce cc_dockerfile and cc_docker_host_arch
tests/tcg/meson.build: check host cross cc is working
tests/tcg/meson.build: introduce depends
tests/tcg/meson.build: use full path for QEMU binary
tests/tcg/meson.build: add top-level 'tcg-tests' target
tests/tcg/Makefile: skip user/system tests if target Makefile is not present
tests/tcg/multiarch/gdbstub/prot-none.py: deactivate on gitlab CI
tests/tcg/multiarch/gdbstub/prot-none.py: detect if /proc/self/mem can be used to access PROT_NONE pages
tests/tcg/multiarch: declare user tests
tests/tcg/multiarch: declare system tests
tests/tcg/meson.build: add generic plugin tests
tests/tcg/arm/fcvt.c: use raw opcode for FPRCVT
tests/tcg/aarch64: user tests
tests/tcg/aarch64/system/gpc-test.c: remove unused variables
tests/tcg/aarch64: system tests
tests/tcg/aarch64_be: user tests
tests/tcg/alpha: add float reference files
tests/tcg/alpha: user tests
tests/tcg/alpha: system tests
tests/tcg/arm: user tests
tests/tcg/arm: system tests
tests/tcg/hexagon/overflow.c: add missing include
tests/tcg/hexagon: user tests
tests/tcg/multiarch/sha1.c: fix big endian implementation
tests/tcg/hppa: add float reference files
tests/tcg/hppa: user tests
tests/tcg/i386: add missing float reference files
tests/tcg/i386: user tests
tests/tcg/i386: system tests
tests/tcg/loongarch64: user tests
tests/tcg/loongarch64: system tests
tests/tcg/m68k: add float reference files
tests/tcg/m68k: user tests
scripts/probe-gdb-support.py: add mapping for mips architecture
tests/tcg/mips: add float reference files
test/tcg/mips: user tests
tests/tcg/mips64: add float reference files
tests/tcg/mips64: user tests
tests/tcg/mips64el: add float reference files
tests/tcg/mips64el: user tests
tests/docker/dockerfiles/debian-all-test-cross.docker: add or1k toolchain
tests/tcg/or1k/test_addic.c: remove unused variables
tests/tcg/or1k/test_muli.c: remove set but unused variable
tests/tcg/or1k: add float reference files
plugins/api.c: identify or1k pc register and mark it as read only
tests/tcg/or1k: user tests
tests/tcg/ppc64: add float reference files
tests/tcg/ppc64: remove dependency on qemu/compiler.h
tests/tcg/ppc64: user tests
tests/tcg/ppc64le: add missing float reference file
tests/tcg/ppc64le: user tests
tests/tcg/riscv64: add float reference files
tests/tcg/riscv64: user tests
tests/tcg/riscv64: system tests
tests/tcg/s390x/head64.S: declare _exit symbol after main
tests/tcg/s390x: add float reference files
tests/tcg/s390x: user tests
tests/tcg/s390x/console.c: directly implement memcpy and memset
tests/tcg/s390x: system tests
tests/tcg/sh4: add float reference files
tests/tcg/sh4: user tests
tests/tcg/tricore: system tests
tests/tcg/x86_64: add missing float reference file
tests/tcg/x86_64: user tests
tests/tcg/x86_64: system tests
tests/tcg/xtensa/crt.S: align .text section
tests/docker/dockerfiles/debian-xtensa-cross.docker: add test_kc705_be toolchain for xtensaeb
tests/tcg/xtensa: system tests
tests/tcg/xtensa: xtensaeb system tests
tests: remove tcg tests machinery
tests/tcg: remove remaining Makefiles
configure: directly pass gdb path as a meson option
tests/tcg/meson.build: implement ./configure containers options
tests/tcg/meson.build: implement ./configure -cross-cc-* options
configure: remove cross_cc and gdb detection logic
meson.build: add summary for TCG tests
docs/devel/testing/: update documentation
MAINTAINERS: add maintainer for tcg/tests meson infrastructure
MAINTAINERS | 4 +-
docs/devel/build-system.rst | 4 +-
docs/devel/testing/main.rst | 35 +-
configure | 530 +----------
tests/tcg/s390x/pgm-specification.mak | 15 -
meson.build | 21 +-
plugins/api.c | 2 +
tests/tcg/aarch64/system/gpc-test.c | 5 -
tests/tcg/arm/fcvt.c | 6 +-
tests/tcg/hexagon/overflow.c | 1 +
tests/tcg/multiarch/sha1.c | 1 +
tests/tcg/multiarch/system/memory.c | 3 +-
tests/tcg/or1k/test_addic.c | 2 +-
tests/tcg/or1k/test_muli.c | 5 +-
tests/tcg/ppc64/vector.c | 11 +-
tests/tcg/ppc64/vsx_f2i_nan.c | 7 +-
tests/tcg/s390x/console.c | 30 +-
tests/tcg/test_cc.c | 9 +
tests/lcitool/refresh | 14 +-
.../dockerfiles/debian-all-test-cross.docker | 14 +-
.../docker/dockerfiles/debian-xtensa-cross.docker | 4 +-
meson_options.txt | 95 +-
pythondeps.toml | 2 +-
scripts/probe-gdb-support.py | 1 +
tests/Makefile.include | 68 +-
tests/docker/docker.py | 4 +-
tests/meson.build | 2 +-
tests/tcg/Makefile.target | 281 ------
tests/tcg/aarch64/Makefile.softmmu-target | 147 ---
tests/tcg/aarch64/Makefile.target | 211 -----
tests/tcg/aarch64/meson.build | 210 +++++
tests/tcg/aarch64/system/meson.build | 109 +++
tests/tcg/aarch64_be/Makefile.target | 17 -
tests/tcg/aarch64_be/meson.build | 22 +
tests/tcg/alpha/Makefile.softmmu-target | 34 -
tests/tcg/alpha/Makefile.target | 18 -
tests/tcg/alpha/float_convd.ref | 988 +++++++++++++++++++++
tests/tcg/alpha/float_convs.ref | 748 ++++++++++++++++
tests/tcg/alpha/float_madds.ref | 768 ++++++++++++++++
tests/tcg/alpha/meson.build | 55 ++
tests/tcg/alpha/system/meson.build | 47 +
tests/tcg/arm/Makefile.softmmu-target | 80 --
tests/tcg/arm/Makefile.target | 87 --
tests/tcg/arm/meson.build | 80 ++
tests/tcg/arm/system/meson.build | 69 ++
tests/tcg/hexagon/Makefile.target | 166 ----
tests/tcg/hexagon/meson.build | 120 +++
tests/tcg/hppa/Makefile.target | 14 -
tests/tcg/hppa/float_convd.ref | 988 +++++++++++++++++++++
tests/tcg/hppa/float_convs.ref | 748 ++++++++++++++++
tests/tcg/hppa/float_madds.ref | 768 ++++++++++++++++
tests/tcg/hppa/meson.build | 22 +
tests/tcg/i386/Makefile.softmmu-target | 37 -
tests/tcg/i386/Makefile.target | 102 ---
tests/tcg/i386/float_convd.conf | 988 ---------------------
tests/tcg/i386/float_convd.ref | 988 +++++++++++++++++++++
tests/tcg/i386/float_madds.ref | 768 ++++++++++++++++
tests/tcg/i386/meson.build | 58 ++
tests/tcg/i386/system/meson.build | 49 +
tests/tcg/loongarch64/Makefile.softmmu-target | 33 -
tests/tcg/loongarch64/Makefile.target | 20 -
tests/tcg/loongarch64/meson.build | 32 +
tests/tcg/loongarch64/system/meson.build | 48 +
tests/tcg/m68k/Makefile.target | 7 -
tests/tcg/m68k/float_convd.ref | 988 +++++++++++++++++++++
tests/tcg/m68k/float_convs.ref | 748 ++++++++++++++++
tests/tcg/m68k/float_madds.ref | 768 ++++++++++++++++
tests/tcg/m68k/meson.build | 23 +
tests/tcg/meson.build | 513 +++++++++++
tests/tcg/minilib/Makefile.target | 21 -
tests/tcg/mips/Makefile.target | 19 -
tests/tcg/mips/float_convd.ref | 988 +++++++++++++++++++++
tests/tcg/mips/float_convs.ref | 748 ++++++++++++++++
tests/tcg/mips/float_madds.ref | 768 ++++++++++++++++
tests/tcg/mips/meson.build | 25 +
tests/tcg/mips64/Makefile.target | 20 -
tests/tcg/mips64/float_convd.ref | 988 +++++++++++++++++++++
tests/tcg/mips64/float_convs.ref | 748 ++++++++++++++++
tests/tcg/mips64/float_madds.ref | 768 ++++++++++++++++
tests/tcg/mips64/meson.build | 27 +
tests/tcg/mips64el/Makefile.target | 8 -
tests/tcg/mips64el/float_convd.ref | 988 +++++++++++++++++++++
tests/tcg/mips64el/float_convs.ref | 748 ++++++++++++++++
tests/tcg/mips64el/float_madds.ref | 768 ++++++++++++++++
tests/tcg/mips64el/meson.build | 14 +
tests/tcg/multiarch/Makefile.target | 224 -----
tests/tcg/multiarch/gdbstub/prot-none.py | 42 +-
tests/tcg/multiarch/meson.build | 149 ++++
tests/tcg/multiarch/plugin/check-plugin-output.sh | 36 -
tests/tcg/multiarch/plugin/regex-compare.sh | 28 +
tests/tcg/multiarch/sha1.ref | 1 +
tests/tcg/multiarch/system/Makefile.softmmu-target | 81 --
tests/tcg/multiarch/system/meson.build | 53 ++
tests/tcg/or1k/Makefile | 71 --
tests/tcg/or1k/float_convd.ref | 247 ++++++
tests/tcg/or1k/float_convs.ref | 187 ++++
tests/tcg/or1k/float_madds.ref | 192 ++++
tests/tcg/or1k/meson.build | 72 ++
tests/tcg/plugins/meson.build | 11 +-
tests/tcg/ppc64/Makefile.target | 63 --
tests/tcg/ppc64/float_convd.ref | 988 +++++++++++++++++++++
tests/tcg/ppc64/float_convs.ref | 748 ++++++++++++++++
tests/tcg/ppc64/float_madds.ref | 768 ++++++++++++++++
tests/tcg/ppc64/meson.build | 56 ++
tests/tcg/ppc64le/Makefile.target | 7 -
tests/tcg/ppc64le/float_convd.ref | 988 +++++++++++++++++++++
tests/tcg/ppc64le/meson.build | 14 +
tests/tcg/riscv64/Makefile.target | 20 -
tests/tcg/riscv64/float_convd.ref | 988 +++++++++++++++++++++
tests/tcg/riscv64/float_convs.ref | 748 ++++++++++++++++
tests/tcg/riscv64/float_madds.ref | 768 ++++++++++++++++
tests/tcg/riscv64/meson.build | 38 +
tests/tcg/riscv64/system/meson.build | 76 ++
tests/tcg/s390x/Makefile.softmmu-target | 57 --
tests/tcg/s390x/Makefile.target | 129 ---
tests/tcg/s390x/float_convd.ref | 988 +++++++++++++++++++++
tests/tcg/s390x/float_convs.ref | 748 ++++++++++++++++
tests/tcg/s390x/float_madds.ref | 768 ++++++++++++++++
tests/tcg/s390x/head64.S | 2 +
tests/tcg/s390x/meson.build | 142 +++
tests/tcg/s390x/system/meson.build | 92 ++
tests/tcg/scripts/check_plugin_output.sh | 25 +
tests/tcg/scripts/record_replay.sh | 16 +
.../tcg/scripts/run_and_check_forbidden_output.sh | 19 +
tests/tcg/scripts/run_and_diff.sh | 15 +
tests/tcg/scripts/run_with_input.sh | 12 +
tests/tcg/sh4/Makefile.target | 18 -
tests/tcg/sh4/float_convd.ref | 494 +++++++++++
tests/tcg/sh4/float_convs.ref | 374 ++++++++
tests/tcg/sh4/float_madds.ref | 384 ++++++++
tests/tcg/sh4/meson.build | 25 +
tests/tcg/tricore/Makefile.softmmu-target | 53 --
tests/tcg/tricore/meson.build | 57 ++
tests/tcg/x86_64/Makefile.softmmu-target | 44 -
tests/tcg/x86_64/Makefile.target | 41 -
tests/tcg/x86_64/float_madds.ref | 768 ++++++++++++++++
tests/tcg/x86_64/meson.build | 84 ++
tests/tcg/x86_64/system/meson.build | 63 ++
tests/tcg/xtensa/Makefile.softmmu-target | 46 -
tests/tcg/xtensa/crt.S | 1 +
tests/tcg/xtensa/meson.build | 110 +++
tests/tcg/xtensaeb/Makefile.softmmu-target | 5 -
142 files changed, 30884 insertions(+), 3868 deletions(-)
delete mode 100644 tests/tcg/s390x/pgm-specification.mak
create mode 100644 tests/tcg/test_cc.c
delete mode 100644 tests/tcg/Makefile.target
delete mode 100644 tests/tcg/aarch64/Makefile.softmmu-target
delete mode 100644 tests/tcg/aarch64/Makefile.target
create mode 100644 tests/tcg/aarch64/meson.build
create mode 100644 tests/tcg/aarch64/system/meson.build
delete mode 100644 tests/tcg/aarch64_be/Makefile.target
create mode 100644 tests/tcg/aarch64_be/meson.build
delete mode 100644 tests/tcg/alpha/Makefile.softmmu-target
delete mode 100644 tests/tcg/alpha/Makefile.target
create mode 100644 tests/tcg/alpha/float_convd.ref
create mode 100644 tests/tcg/alpha/float_convs.ref
create mode 100644 tests/tcg/alpha/float_madds.ref
create mode 100644 tests/tcg/alpha/meson.build
create mode 100644 tests/tcg/alpha/system/meson.build
delete mode 100644 tests/tcg/arm/Makefile.softmmu-target
delete mode 100644 tests/tcg/arm/Makefile.target
create mode 100644 tests/tcg/arm/meson.build
create mode 100644 tests/tcg/arm/system/meson.build
delete mode 100644 tests/tcg/hexagon/Makefile.target
create mode 100644 tests/tcg/hexagon/meson.build
delete mode 100644 tests/tcg/hppa/Makefile.target
create mode 100644 tests/tcg/hppa/float_convd.ref
create mode 100644 tests/tcg/hppa/float_convs.ref
create mode 100644 tests/tcg/hppa/float_madds.ref
create mode 100644 tests/tcg/hppa/meson.build
delete mode 100644 tests/tcg/i386/Makefile.softmmu-target
delete mode 100644 tests/tcg/i386/Makefile.target
delete mode 100644 tests/tcg/i386/float_convd.conf
create mode 100644 tests/tcg/i386/float_convd.ref
create mode 100644 tests/tcg/i386/float_madds.ref
create mode 100644 tests/tcg/i386/meson.build
create mode 100644 tests/tcg/i386/system/meson.build
delete mode 100644 tests/tcg/loongarch64/Makefile.softmmu-target
delete mode 100644 tests/tcg/loongarch64/Makefile.target
create mode 100644 tests/tcg/loongarch64/meson.build
create mode 100644 tests/tcg/loongarch64/system/meson.build
delete mode 100644 tests/tcg/m68k/Makefile.target
create mode 100644 tests/tcg/m68k/float_convd.ref
create mode 100644 tests/tcg/m68k/float_convs.ref
create mode 100644 tests/tcg/m68k/float_madds.ref
create mode 100644 tests/tcg/m68k/meson.build
create mode 100644 tests/tcg/meson.build
delete mode 100644 tests/tcg/minilib/Makefile.target
delete mode 100644 tests/tcg/mips/Makefile.target
create mode 100644 tests/tcg/mips/float_convd.ref
create mode 100644 tests/tcg/mips/float_convs.ref
create mode 100644 tests/tcg/mips/float_madds.ref
create mode 100644 tests/tcg/mips/meson.build
delete mode 100644 tests/tcg/mips64/Makefile.target
create mode 100644 tests/tcg/mips64/float_convd.ref
create mode 100644 tests/tcg/mips64/float_convs.ref
create mode 100644 tests/tcg/mips64/float_madds.ref
create mode 100644 tests/tcg/mips64/meson.build
delete mode 100644 tests/tcg/mips64el/Makefile.target
create mode 100644 tests/tcg/mips64el/float_convd.ref
create mode 100644 tests/tcg/mips64el/float_convs.ref
create mode 100644 tests/tcg/mips64el/float_madds.ref
create mode 100644 tests/tcg/mips64el/meson.build
delete mode 100644 tests/tcg/multiarch/Makefile.target
create mode 100644 tests/tcg/multiarch/meson.build
delete mode 100755 tests/tcg/multiarch/plugin/check-plugin-output.sh
create mode 100755 tests/tcg/multiarch/plugin/regex-compare.sh
create mode 100644 tests/tcg/multiarch/sha1.ref
delete mode 100644 tests/tcg/multiarch/system/Makefile.softmmu-target
create mode 100644 tests/tcg/multiarch/system/meson.build
delete mode 100644 tests/tcg/or1k/Makefile
create mode 100644 tests/tcg/or1k/float_convd.ref
create mode 100644 tests/tcg/or1k/float_convs.ref
create mode 100644 tests/tcg/or1k/float_madds.ref
create mode 100644 tests/tcg/or1k/meson.build
delete mode 100644 tests/tcg/ppc64/Makefile.target
create mode 100644 tests/tcg/ppc64/float_convd.ref
create mode 100644 tests/tcg/ppc64/float_convs.ref
create mode 100644 tests/tcg/ppc64/float_madds.ref
create mode 100644 tests/tcg/ppc64/meson.build
delete mode 100644 tests/tcg/ppc64le/Makefile.target
create mode 100644 tests/tcg/ppc64le/float_convd.ref
create mode 100644 tests/tcg/ppc64le/meson.build
delete mode 100644 tests/tcg/riscv64/Makefile.target
create mode 100644 tests/tcg/riscv64/float_convd.ref
create mode 100644 tests/tcg/riscv64/float_convs.ref
create mode 100644 tests/tcg/riscv64/float_madds.ref
create mode 100644 tests/tcg/riscv64/meson.build
create mode 100644 tests/tcg/riscv64/system/meson.build
delete mode 100644 tests/tcg/s390x/Makefile.softmmu-target
delete mode 100644 tests/tcg/s390x/Makefile.target
create mode 100644 tests/tcg/s390x/float_convd.ref
create mode 100644 tests/tcg/s390x/float_convs.ref
create mode 100644 tests/tcg/s390x/float_madds.ref
create mode 100644 tests/tcg/s390x/meson.build
create mode 100644 tests/tcg/s390x/system/meson.build
create mode 100755 tests/tcg/scripts/check_plugin_output.sh
create mode 100755 tests/tcg/scripts/record_replay.sh
create mode 100755 tests/tcg/scripts/run_and_check_forbidden_output.sh
create mode 100755 tests/tcg/scripts/run_and_diff.sh
create mode 100755 tests/tcg/scripts/run_with_input.sh
delete mode 100644 tests/tcg/sh4/Makefile.target
create mode 100644 tests/tcg/sh4/float_convd.ref
create mode 100644 tests/tcg/sh4/float_convs.ref
create mode 100644 tests/tcg/sh4/float_madds.ref
create mode 100644 tests/tcg/sh4/meson.build
delete mode 100644 tests/tcg/tricore/Makefile.softmmu-target
create mode 100644 tests/tcg/tricore/meson.build
delete mode 100644 tests/tcg/x86_64/Makefile.softmmu-target
delete mode 100644 tests/tcg/x86_64/Makefile.target
create mode 100644 tests/tcg/x86_64/float_madds.ref
create mode 100644 tests/tcg/x86_64/meson.build
create mode 100644 tests/tcg/x86_64/system/meson.build
delete mode 100644 tests/tcg/xtensa/Makefile.softmmu-target
create mode 100644 tests/tcg/xtensa/meson.build
delete mode 100644 tests/tcg/xtensaeb/Makefile.softmmu-target
--
2.47.3
On Fri, 4 Sept 2026 at 16:08, Alex Bennée <alex.bennee@linaro.org> wrote: > > The following changes since commit d2843fbf80260e4346c856819e8cea11768c9d0e: > > Merge tag 'pull-riscv-to-apply-20260904' of https://github.com/alistair23/qemu into staging (2026-09-04 09:43:27 +0100) > > are available in the Git repository at: > > https://gitlab.com/stsquad/qemu.git tags/pull-11.1-check-tcg-meson-040926-2 > > for you to fetch changes up to 7a485176838e6b6044e73f925d308bb4b3002597: > > MAINTAINERS: add maintainer for tcg/tests meson infrastructure (2026-09-04 16:06:22 +0100) > > ---------------------------------------------------------------- > tests/tcg: conversion to meson > > - remove unused variable from multiarch/memory > - standardise checking plugin output > - bump minimal meson to 1.6.0 > - introduce meson plumbing for check-tcg > - return error code if docker probe fails > - add CI/self/mem test to gdbstub prot-none tests > - use raw opcode for fprcvt test in arm > - remove unused variables from gpc-test > - teach probe-gdb-support about mips > - identify or1k pc register > - port check-tcg logic to meson (all targets) > - update documentation > - add Pierrick as a maintainer for tests/tcg > Applied, thanks. Please update the changelog at https://wiki.qemu.org/ChangeLog/11.2 for any user-visible changes. -- PMM
On Fri, Sep 4, 2026 at 2:04 PM Peter Maydell <peter.maydell@linaro.org> wrote:
>
> On Fri, 4 Sept 2026 at 16:08, Alex Bennée <alex.bennee@linaro.org> wrote:
> >
> > The following changes since commit d2843fbf80260e4346c856819e8cea11768c9d0e:
> >
> > Merge tag 'pull-riscv-to-apply-20260904' of https://github.com/alistair23/qemu into staging (2026-09-04 09:43:27 +0100)
> >
> > are available in the Git repository at:
> >
> > https://gitlab.com/stsquad/qemu.git tags/pull-11.1-check-tcg-meson-040926-2
> >
> > for you to fetch changes up to 7a485176838e6b6044e73f925d308bb4b3002597:
> >
> > MAINTAINERS: add maintainer for tcg/tests meson infrastructure (2026-09-04 16:06:22 +0100)
> >
> > ----------------------------------------------------------------
> > tests/tcg: conversion to meson
> >
> > - remove unused variable from multiarch/memory
> > - standardise checking plugin output
> > - bump minimal meson to 1.6.0
> > - introduce meson plumbing for check-tcg
> > - return error code if docker probe fails
> > - add CI/self/mem test to gdbstub prot-none tests
> > - use raw opcode for fprcvt test in arm
> > - remove unused variables from gpc-test
> > - teach probe-gdb-support about mips
> > - identify or1k pc register
> > - port check-tcg logic to meson (all targets)
> > - update documentation
> > - add Pierrick as a maintainer for tests/tcg
Hi, I'm having difficulties building after this PR, after eb7f0c14 in
particular.
I keep seeing stuff like this:
FAILED: [code=1] tests/tcg/x86_64-softmmu-hello.test
/home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman
run --run-as-current-user -w /home/jsnow/src/qemu/build -v
/home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross
x86_64-linux-gnu-gcc
/home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c -o
tests/tcg/x86_64-softmmu-hello.test -static -MMD -MF
tests/tcg/x86_64-softmmu-hello.d -Wall -Werror -O0 -g
-fno-strict-aliasing -nostdlib -ffreestanding -Wa,--noexecstack -I
/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib
/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c
../tests/tcg/x86_64/system/boot.S -Wl,-T
../tests/tcg/x86_64/system/kernel.ld -Wl,-melf_x86_64
-Wl,--no-warn-rwx-segments -Wl,--build-id=none -lgcc
cc1: fatal error:
/home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c: Permission
denied
compilation terminated.
cc1: fatal error:
/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c:
Permission denied
compilation terminated.
cc1: fatal error: ../tests/tcg/x86_64/system/boot.S: Permission denied
compilation terminated.
Traceback (most recent call last):
File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657,
in <module>
sys.exit(main())
~~~~^^
File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main
return args.cmdobj.run(args, argv)
~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run
return Docker(args.command).run(argv, args.keep, quiet=args.quiet,
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
as_user=args.run_as_current_user)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run
ret = self._do_check(["run", "--rm", "--label",
"com.qemu.instance.uuid=" + label] + cmd,
quiet=quiet)
File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230,
in _do_check
return subprocess.check_call(self._command + cmd, **kwargs)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['podman', 'run', '--rm',
'--label', 'com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9',
'--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build',
'-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu',
'debian-amd64-cross', 'x86_64-linux-gnu-gcc',
'/home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c', '-o',
'tests/tcg/x86_64-softmmu-hello.test', '-static', '-MMD', '-MF',
'tests/tcg/x86_64-softmmu-hello.d', '-Wall', '-Werror', '-O0', '-g',
'-fno-strict-aliasing', '-nostdlib', '-ffreestanding',
'-Wa,--noexecstack', '-I',
'/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib',
'/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c',
'../tests/tcg/x86_64/system/boot.S', '-Wl,-T',
'../tests/tcg/x86_64/system/kernel.ld', '-Wl,-melf_x86_64',
'-Wl,--no-warn-rwx-segments', '-Wl,--build-id=none', '-lgcc']'
returned non-zero exit status 1.
filter=--filter=label=com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9
ninja: build stopped: subcommand failed.
make: *** [Makefile:170: run-ninja] Error 1
Is there some kind of setup I have neglected to perform to make this
new build system work? Is there a way I can skip these tests in the
meantime...?
Thanks,
--js
John Snow <jsnow@redhat.com> writes: > On Fri, Sep 4, 2026 at 2:04 PM Peter Maydell <peter.maydell@linaro.org> wrote: >> >> On Fri, 4 Sept 2026 at 16:08, Alex Bennée <alex.bennee@linaro.org> wrote: >> > >> > The following changes since commit d2843fbf80260e4346c856819e8cea11768c9d0e: >> > >> > Merge tag 'pull-riscv-to-apply-20260904' of https://github.com/alistair23/qemu into staging (2026-09-04 09:43:27 +0100) >> > >> > are available in the Git repository at: >> > >> > https://gitlab.com/stsquad/qemu.git tags/pull-11.1-check-tcg-meson-040926-2 >> > >> > for you to fetch changes up to 7a485176838e6b6044e73f925d308bb4b3002597: >> > >> > MAINTAINERS: add maintainer for tcg/tests meson infrastructure (2026-09-04 16:06:22 +0100) >> > >> > ---------------------------------------------------------------- >> > tests/tcg: conversion to meson >> > >> > - remove unused variable from multiarch/memory >> > - standardise checking plugin output >> > - bump minimal meson to 1.6.0 >> > - introduce meson plumbing for check-tcg >> > - return error code if docker probe fails >> > - add CI/self/mem test to gdbstub prot-none tests >> > - use raw opcode for fprcvt test in arm >> > - remove unused variables from gpc-test >> > - teach probe-gdb-support about mips >> > - identify or1k pc register >> > - port check-tcg logic to meson (all targets) >> > - update documentation >> > - add Pierrick as a maintainer for tests/tcg > > Hi, I'm having difficulties building after this PR, after eb7f0c14 in > particular. > > I keep seeing stuff like this: > > FAILED: [code=1] tests/tcg/x86_64-softmmu-hello.test > /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman > run --run-as-current-user -w /home/jsnow/src/qemu/build -v > /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross > x86_64-linux-gnu-gcc > /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c -o > tests/tcg/x86_64-softmmu-hello.test -static -MMD -MF > tests/tcg/x86_64-softmmu-hello.d -Wall -Werror -O0 -g > -fno-strict-aliasing -nostdlib -ffreestanding -Wa,--noexecstack -I > /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib > /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c > ../tests/tcg/x86_64/system/boot.S -Wl,-T > ../tests/tcg/x86_64/system/kernel.ld -Wl,-melf_x86_64 > -Wl,--no-warn-rwx-segments -Wl,--build-id=none -lgcc > cc1: fatal error: > /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c: Permission > denied > compilation terminated. > cc1: fatal error: > /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c: > Permission denied > compilation terminated. > cc1: fatal error: ../tests/tcg/x86_64/system/boot.S: Permission denied > compilation terminated. Try the v2 I've just posted. That fixed up the handling of mapping your host user id into the container so there are less surprises when it writes to the mapped volume. https://patchew.org/QEMU/20260915201601.1207839-1-alex.bennee@linaro.org/ -- Alex Bennée Virtualisation Tech Lead @ Linaro
On Tue, Sep 15, 2026 at 4:19 PM Alex Bennée <alex.bennee@linaro.org> wrote: > > John Snow <jsnow@redhat.com> writes: > > > On Fri, Sep 4, 2026 at 2:04 PM Peter Maydell <peter.maydell@linaro.org> wrote: > >> > >> On Fri, 4 Sept 2026 at 16:08, Alex Bennée <alex.bennee@linaro.org> wrote: > >> > > >> > The following changes since commit d2843fbf80260e4346c856819e8cea11768c9d0e: > >> > > >> > Merge tag 'pull-riscv-to-apply-20260904' of https://github.com/alistair23/qemu into staging (2026-09-04 09:43:27 +0100) > >> > > >> > are available in the Git repository at: > >> > > >> > https://gitlab.com/stsquad/qemu.git tags/pull-11.1-check-tcg-meson-040926-2 > >> > > >> > for you to fetch changes up to 7a485176838e6b6044e73f925d308bb4b3002597: > >> > > >> > MAINTAINERS: add maintainer for tcg/tests meson infrastructure (2026-09-04 16:06:22 +0100) > >> > > >> > ---------------------------------------------------------------- > >> > tests/tcg: conversion to meson > >> > > >> > - remove unused variable from multiarch/memory > >> > - standardise checking plugin output > >> > - bump minimal meson to 1.6.0 > >> > - introduce meson plumbing for check-tcg > >> > - return error code if docker probe fails > >> > - add CI/self/mem test to gdbstub prot-none tests > >> > - use raw opcode for fprcvt test in arm > >> > - remove unused variables from gpc-test > >> > - teach probe-gdb-support about mips > >> > - identify or1k pc register > >> > - port check-tcg logic to meson (all targets) > >> > - update documentation > >> > - add Pierrick as a maintainer for tests/tcg > > > > Hi, I'm having difficulties building after this PR, after eb7f0c14 in > > particular. > > > > I keep seeing stuff like this: > > > > FAILED: [code=1] tests/tcg/x86_64-softmmu-hello.test > > /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman > > run --run-as-current-user -w /home/jsnow/src/qemu/build -v > > /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross > > x86_64-linux-gnu-gcc > > /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c -o > > tests/tcg/x86_64-softmmu-hello.test -static -MMD -MF > > tests/tcg/x86_64-softmmu-hello.d -Wall -Werror -O0 -g > > -fno-strict-aliasing -nostdlib -ffreestanding -Wa,--noexecstack -I > > /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib > > /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c > > ../tests/tcg/x86_64/system/boot.S -Wl,-T > > ../tests/tcg/x86_64/system/kernel.ld -Wl,-melf_x86_64 > > -Wl,--no-warn-rwx-segments -Wl,--build-id=none -lgcc > > cc1: fatal error: > > /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c: Permission > > denied > > compilation terminated. > > cc1: fatal error: > > /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c: > > Permission denied > > compilation terminated. > > cc1: fatal error: ../tests/tcg/x86_64/system/boot.S: Permission denied > > compilation terminated. > > Try the v2 I've just posted. That fixed up the handling of mapping your > host user id into the container so there are less surprises when it > writes to the mapped volume. > > https://patchew.org/QEMU/20260915201601.1207839-1-alex.bennee@linaro.org/ > No dice there. Fully rebooted my machine just in case there were permission issues lingering in my session; still getting perm errors: jsnow@jsnow-thinkpadp16vgen1 ~/s/q/build (review)> cat /etc/subuid jsnow:100000:65536 jsnow@jsnow-thinkpadp16vgen1 ~/s/q/build (review)> cat /etc/subgid jsnow:100000:65536 jsnow@jsnow-thinkpadp16vgen1 ~/s/q/build (review)> ls -lahZ ../tests/tcg/multiarch/system/hello.c -rw-r--r--. 1 jsnow jsnow unconfined_u:object_r:user_home_t:s0 229 May 7 2025 ../tests/tcg/multiarch/system/hello.c Setting the dreaded `setenforce 0` it does seem to work, so I suppose the issue is that my source tree is not labeled in a way that permits it to be mapped into a container. I'd like to ask that we have a hello world style check that tests to see if it can access your source tree and, if not, proposes some solutions: (1) Prompt user to check that rootless podman is functioning correctly, check your subuid/subgid etc (2) Prompt user to check selinux labels (3) Suggest that container builds can be disabled with --disable-containers Possibly even as part of configure we do a simple hello-world test and if it works, enable containers by default and if it does not, we disable them. If you pass --enable-containers and the hello world fails, configure exits with an error. Or some other such thing. --js
John Snow <jsnow@redhat.com> writes: > On Tue, Sep 15, 2026 at 4:19 PM Alex Bennée <alex.bennee@linaro.org> wrote: >> >> John Snow <jsnow@redhat.com> writes: >> >> > On Fri, Sep 4, 2026 at 2:04 PM Peter Maydell <peter.maydell@linaro.org> wrote: >> >> >> >> On Fri, 4 Sept 2026 at 16:08, Alex Bennée <alex.bennee@linaro.org> wrote: >> >> > >> >> > The following changes since commit d2843fbf80260e4346c856819e8cea11768c9d0e: >> >> > >> >> > Merge tag 'pull-riscv-to-apply-20260904' of https://github.com/alistair23/qemu into staging (2026-09-04 09:43:27 +0100) >> >> > >> >> > are available in the Git repository at: >> >> > >> >> > https://gitlab.com/stsquad/qemu.git tags/pull-11.1-check-tcg-meson-040926-2 >> >> > >> >> > for you to fetch changes up to 7a485176838e6b6044e73f925d308bb4b3002597: >> >> > >> >> > MAINTAINERS: add maintainer for tcg/tests meson infrastructure (2026-09-04 16:06:22 +0100) >> >> > >> >> > ---------------------------------------------------------------- >> >> > tests/tcg: conversion to meson >> >> > >> >> > - remove unused variable from multiarch/memory >> >> > - standardise checking plugin output >> >> > - bump minimal meson to 1.6.0 >> >> > - introduce meson plumbing for check-tcg >> >> > - return error code if docker probe fails >> >> > - add CI/self/mem test to gdbstub prot-none tests >> >> > - use raw opcode for fprcvt test in arm >> >> > - remove unused variables from gpc-test >> >> > - teach probe-gdb-support about mips >> >> > - identify or1k pc register >> >> > - port check-tcg logic to meson (all targets) >> >> > - update documentation >> >> > - add Pierrick as a maintainer for tests/tcg >> > >> > Hi, I'm having difficulties building after this PR, after eb7f0c14 in >> > particular. >> > >> > I keep seeing stuff like this: >> > >> > FAILED: [code=1] tests/tcg/x86_64-softmmu-hello.test >> > /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman >> > run --run-as-current-user -w /home/jsnow/src/qemu/build -v >> > /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross >> > x86_64-linux-gnu-gcc >> > /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c -o >> > tests/tcg/x86_64-softmmu-hello.test -static -MMD -MF >> > tests/tcg/x86_64-softmmu-hello.d -Wall -Werror -O0 -g >> > -fno-strict-aliasing -nostdlib -ffreestanding -Wa,--noexecstack -I >> > /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib >> > /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c >> > ../tests/tcg/x86_64/system/boot.S -Wl,-T >> > ../tests/tcg/x86_64/system/kernel.ld -Wl,-melf_x86_64 >> > -Wl,--no-warn-rwx-segments -Wl,--build-id=none -lgcc >> > cc1: fatal error: >> > /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c: Permission >> > denied >> > compilation terminated. >> > cc1: fatal error: >> > /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c: >> > Permission denied >> > compilation terminated. >> > cc1: fatal error: ../tests/tcg/x86_64/system/boot.S: Permission denied >> > compilation terminated. >> >> Try the v2 I've just posted. That fixed up the handling of mapping your >> host user id into the container so there are less surprises when it >> writes to the mapped volume. >> >> https://patchew.org/QEMU/20260915201601.1207839-1-alex.bennee@linaro.org/ >> > > No dice there. Fully rebooted my machine just in case there were > permission issues lingering in my session; still getting perm errors: > > jsnow@jsnow-thinkpadp16vgen1 ~/s/q/build (review)> cat /etc/subuid > jsnow:100000:65536 > jsnow@jsnow-thinkpadp16vgen1 ~/s/q/build (review)> cat /etc/subgid > jsnow:100000:65536 > > jsnow@jsnow-thinkpadp16vgen1 ~/s/q/build (review)> ls -lahZ > ../tests/tcg/multiarch/system/hello.c > -rw-r--r--. 1 jsnow jsnow unconfined_u:object_r:user_home_t:s0 229 May > 7 2025 ../tests/tcg/multiarch/system/hello.c > > Setting the dreaded `setenforce 0` it does seem to work, so I suppose > the issue is that my source tree is not labeled in a way that permits > it to be mapped into a container. > > I'd like to ask that we have a hello world style check that tests to > see if it can access your source tree and, if not, proposes some > solutions: > > (1) Prompt user to check that rootless podman is functioning > correctly, check your subuid/subgid etc Perhaps we should just run the same compile test when we detect containers. > (2) Prompt user to check selinux labels > (3) Suggest that container builds can be disabled with --disable-containers > > Possibly even as part of configure we do a simple hello-world test and > if it works, enable containers by default and if it does not, we > disable them. If you pass --enable-containers and the hello world > fails, configure exits with an error. > > Or some other such thing. > > --js -- Alex Bennée Virtualisation Tech Lead @ Linaro
On 9/16/2026 9:16 AM, John Snow wrote: > On Tue, Sep 15, 2026 at 4:19 PM Alex Bennée <alex.bennee@linaro.org> wrote: >> >> John Snow <jsnow@redhat.com> writes: >> >>> On Fri, Sep 4, 2026 at 2:04 PM Peter Maydell <peter.maydell@linaro.org> wrote: >>>> >>>> On Fri, 4 Sept 2026 at 16:08, Alex Bennée <alex.bennee@linaro.org> wrote: >>>>> >>>>> The following changes since commit d2843fbf80260e4346c856819e8cea11768c9d0e: >>>>> >>>>> Merge tag 'pull-riscv-to-apply-20260904' of https://github.com/alistair23/qemu into staging (2026-09-04 09:43:27 +0100) >>>>> >>>>> are available in the Git repository at: >>>>> >>>>> https://gitlab.com/stsquad/qemu.git tags/pull-11.1-check-tcg-meson-040926-2 >>>>> >>>>> for you to fetch changes up to 7a485176838e6b6044e73f925d308bb4b3002597: >>>>> >>>>> MAINTAINERS: add maintainer for tcg/tests meson infrastructure (2026-09-04 16:06:22 +0100) >>>>> >>>>> ---------------------------------------------------------------- >>>>> tests/tcg: conversion to meson >>>>> >>>>> - remove unused variable from multiarch/memory >>>>> - standardise checking plugin output >>>>> - bump minimal meson to 1.6.0 >>>>> - introduce meson plumbing for check-tcg >>>>> - return error code if docker probe fails >>>>> - add CI/self/mem test to gdbstub prot-none tests >>>>> - use raw opcode for fprcvt test in arm >>>>> - remove unused variables from gpc-test >>>>> - teach probe-gdb-support about mips >>>>> - identify or1k pc register >>>>> - port check-tcg logic to meson (all targets) >>>>> - update documentation >>>>> - add Pierrick as a maintainer for tests/tcg >>> >>> Hi, I'm having difficulties building after this PR, after eb7f0c14 in >>> particular. >>> >>> I keep seeing stuff like this: >>> >>> FAILED: [code=1] tests/tcg/x86_64-softmmu-hello.test >>> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman >>> run --run-as-current-user -w /home/jsnow/src/qemu/build -v >>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross >>> x86_64-linux-gnu-gcc >>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c -o >>> tests/tcg/x86_64-softmmu-hello.test -static -MMD -MF >>> tests/tcg/x86_64-softmmu-hello.d -Wall -Werror -O0 -g >>> -fno-strict-aliasing -nostdlib -ffreestanding -Wa,--noexecstack -I >>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib >>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c >>> ../tests/tcg/x86_64/system/boot.S -Wl,-T >>> ../tests/tcg/x86_64/system/kernel.ld -Wl,-melf_x86_64 >>> -Wl,--no-warn-rwx-segments -Wl,--build-id=none -lgcc >>> cc1: fatal error: >>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c: Permission >>> denied >>> compilation terminated. >>> cc1: fatal error: >>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c: >>> Permission denied >>> compilation terminated. >>> cc1: fatal error: ../tests/tcg/x86_64/system/boot.S: Permission denied >>> compilation terminated. >> >> Try the v2 I've just posted. That fixed up the handling of mapping your >> host user id into the container so there are less surprises when it >> writes to the mapped volume. >> >> https://patchew.org/QEMU/20260915201601.1207839-1-alex.bennee@linaro.org/ >> > > No dice there. Fully rebooted my machine just in case there were > permission issues lingering in my session; still getting perm errors: > > jsnow@jsnow-thinkpadp16vgen1 ~/s/q/build (review)> cat /etc/subuid > jsnow:100000:65536 > jsnow@jsnow-thinkpadp16vgen1 ~/s/q/build (review)> cat /etc/subgid > jsnow:100000:65536 > > jsnow@jsnow-thinkpadp16vgen1 ~/s/q/build (review)> ls -lahZ > ../tests/tcg/multiarch/system/hello.c > -rw-r--r--. 1 jsnow jsnow unconfined_u:object_r:user_home_t:s0 229 May > 7 2025 ../tests/tcg/multiarch/system/hello.c > > Setting the dreaded `setenforce 0` it does seem to work, so I suppose > the issue is that my source tree is not labeled in a way that permits > it to be mapped into a container. > Ok, so it seems to be related to SELinux. Good news is that we can verify if following fix would work: Can you please try a shared mount (append :z to path mounted with -v)? Would that be possible to try a shared mount (:z)? $ setenforce 1 $ check previous command failed # try same command with :z $ /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ run --run-as-current-user -w /home/jsnow/src/qemu/build -v \ /home/jsnow/src/qemu:/home/jsnow/src/qemu:z debian-amd64-cross \ touch -v new_file && ls -al new_file > I'd like to ask that we have a hello world style check that tests to > see if it can access your source tree and, if not, proposes some > solutions: > > (1) Prompt user to check that rootless podman is functioning > correctly, check your subuid/subgid etc > (2) Prompt user to check selinux labels > (3) Suggest that container builds can be disabled with --disable-containers > > Possibly even as part of configure we do a simple hello-world test and > if it works, enable containers by default and if it does not, we > disable them. If you pass --enable-containers and the hello world > fails, configure exits with an error. > > Or some other such thing. > > --js > >
On 9/15/2026 9:52 AM, John Snow wrote: > On Fri, Sep 4, 2026 at 2:04 PM Peter Maydell <peter.maydell@linaro.org> wrote: >> >> On Fri, 4 Sept 2026 at 16:08, Alex Bennée <alex.bennee@linaro.org> wrote: >>> >>> The following changes since commit d2843fbf80260e4346c856819e8cea11768c9d0e: >>> >>> Merge tag 'pull-riscv-to-apply-20260904' of https://github.com/alistair23/qemu into staging (2026-09-04 09:43:27 +0100) >>> >>> are available in the Git repository at: >>> >>> https://gitlab.com/stsquad/qemu.git tags/pull-11.1-check-tcg-meson-040926-2 >>> >>> for you to fetch changes up to 7a485176838e6b6044e73f925d308bb4b3002597: >>> >>> MAINTAINERS: add maintainer for tcg/tests meson infrastructure (2026-09-04 16:06:22 +0100) >>> >>> ---------------------------------------------------------------- >>> tests/tcg: conversion to meson >>> >>> - remove unused variable from multiarch/memory >>> - standardise checking plugin output >>> - bump minimal meson to 1.6.0 >>> - introduce meson plumbing for check-tcg >>> - return error code if docker probe fails >>> - add CI/self/mem test to gdbstub prot-none tests >>> - use raw opcode for fprcvt test in arm >>> - remove unused variables from gpc-test >>> - teach probe-gdb-support about mips >>> - identify or1k pc register >>> - port check-tcg logic to meson (all targets) >>> - update documentation >>> - add Pierrick as a maintainer for tests/tcg > > Hi, I'm having difficulties building after this PR, after eb7f0c14 in > particular. > > I keep seeing stuff like this: > > FAILED: [code=1] tests/tcg/x86_64-softmmu-hello.test > /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman > run --run-as-current-user -w /home/jsnow/src/qemu/build -v > /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross > x86_64-linux-gnu-gcc > /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c -o > tests/tcg/x86_64-softmmu-hello.test -static -MMD -MF > tests/tcg/x86_64-softmmu-hello.d -Wall -Werror -O0 -g > -fno-strict-aliasing -nostdlib -ffreestanding -Wa,--noexecstack -I > /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib > /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c > ../tests/tcg/x86_64/system/boot.S -Wl,-T > ../tests/tcg/x86_64/system/kernel.ld -Wl,-melf_x86_64 > -Wl,--no-warn-rwx-segments -Wl,--build-id=none -lgcc > cc1: fatal error: > /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c: Permission > denied > compilation terminated. > cc1: fatal error: > /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c: > Permission denied > compilation terminated. > cc1: fatal error: ../tests/tcg/x86_64/system/boot.S: Permission denied > compilation terminated. > Traceback (most recent call last): > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657, > in <module> > sys.exit(main()) > ~~~~^^ > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main > return args.cmdobj.run(args, argv) > ~~~~~~~~~~~~~~~^^^^^^^^^^^^ > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run > return Docker(args.command).run(argv, args.keep, quiet=args.quiet, > ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > as_user=args.run_as_current_user) > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run > ret = self._do_check(["run", "--rm", "--label", > "com.qemu.instance.uuid=" + label] + cmd, > quiet=quiet) > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230, > in _do_check > return subprocess.check_call(self._command + cmd, **kwargs) > ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call > raise CalledProcessError(retcode, cmd) > subprocess.CalledProcessError: Command '['podman', 'run', '--rm', > '--label', 'com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9', > '--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build', > '-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu', > 'debian-amd64-cross', 'x86_64-linux-gnu-gcc', > '/home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c', '-o', > 'tests/tcg/x86_64-softmmu-hello.test', '-static', '-MMD', '-MF', > 'tests/tcg/x86_64-softmmu-hello.d', '-Wall', '-Werror', '-O0', '-g', > '-fno-strict-aliasing', '-nostdlib', '-ffreestanding', > '-Wa,--noexecstack', '-I', > '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib', > '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c', > '../tests/tcg/x86_64/system/boot.S', '-Wl,-T', > '../tests/tcg/x86_64/system/kernel.ld', '-Wl,-melf_x86_64', > '-Wl,--no-warn-rwx-segments', '-Wl,--build-id=none', '-lgcc']' > returned non-zero exit status 1. > filter=--filter=label=com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9 > ninja: build stopped: subcommand failed. > make: *** [Makefile:170: run-ninja] Error 1 > Interesting, it seems to be an issue with podman user mapping. Which distro you use (especially which version)? Also, could you please report output of those commands: $ podman --version $ ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c $ /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ run --run-as-current-user -w /home/jsnow/src/qemu/build -v \ /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \ touch -v new_file && ls -al new_file This should help us to see what's your effective uid in the container. Maybe this issue was present before, did you try running make check-tcg in the past, or not? > Is there some kind of setup I have neglected to perform to make this > new build system work? Is there a way I can skip these tests in the > meantime...? > You can use ./configure --disable-containers, so it will not try to use podman. > Thanks, > --js > > Regards, Pierrick
On Tue, Sep 15, 2026 at 1:17 PM Pierrick Bouvier
<pierrick.bouvier@oss.qualcomm.com> wrote:
>
> On 9/15/2026 9:52 AM, John Snow wrote:
> > On Fri, Sep 4, 2026 at 2:04 PM Peter Maydell <peter.maydell@linaro.org> wrote:
> >>
> >> On Fri, 4 Sept 2026 at 16:08, Alex Bennée <alex.bennee@linaro.org> wrote:
> >>>
> >>> The following changes since commit d2843fbf80260e4346c856819e8cea11768c9d0e:
> >>>
> >>> Merge tag 'pull-riscv-to-apply-20260904' of https://github.com/alistair23/qemu into staging (2026-09-04 09:43:27 +0100)
> >>>
> >>> are available in the Git repository at:
> >>>
> >>> https://gitlab.com/stsquad/qemu.git tags/pull-11.1-check-tcg-meson-040926-2
> >>>
> >>> for you to fetch changes up to 7a485176838e6b6044e73f925d308bb4b3002597:
> >>>
> >>> MAINTAINERS: add maintainer for tcg/tests meson infrastructure (2026-09-04 16:06:22 +0100)
> >>>
> >>> ----------------------------------------------------------------
> >>> tests/tcg: conversion to meson
> >>>
> >>> - remove unused variable from multiarch/memory
> >>> - standardise checking plugin output
> >>> - bump minimal meson to 1.6.0
> >>> - introduce meson plumbing for check-tcg
> >>> - return error code if docker probe fails
> >>> - add CI/self/mem test to gdbstub prot-none tests
> >>> - use raw opcode for fprcvt test in arm
> >>> - remove unused variables from gpc-test
> >>> - teach probe-gdb-support about mips
> >>> - identify or1k pc register
> >>> - port check-tcg logic to meson (all targets)
> >>> - update documentation
> >>> - add Pierrick as a maintainer for tests/tcg
> >
> > Hi, I'm having difficulties building after this PR, after eb7f0c14 in
> > particular.
> >
> > I keep seeing stuff like this:
> >
> > FAILED: [code=1] tests/tcg/x86_64-softmmu-hello.test
> > /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman
> > run --run-as-current-user -w /home/jsnow/src/qemu/build -v
> > /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross
> > x86_64-linux-gnu-gcc
> > /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c -o
> > tests/tcg/x86_64-softmmu-hello.test -static -MMD -MF
> > tests/tcg/x86_64-softmmu-hello.d -Wall -Werror -O0 -g
> > -fno-strict-aliasing -nostdlib -ffreestanding -Wa,--noexecstack -I
> > /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib
> > /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c
> > ../tests/tcg/x86_64/system/boot.S -Wl,-T
> > ../tests/tcg/x86_64/system/kernel.ld -Wl,-melf_x86_64
> > -Wl,--no-warn-rwx-segments -Wl,--build-id=none -lgcc
> > cc1: fatal error:
> > /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c: Permission
> > denied
> > compilation terminated.
> > cc1: fatal error:
> > /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c:
> > Permission denied
> > compilation terminated.
> > cc1: fatal error: ../tests/tcg/x86_64/system/boot.S: Permission denied
> > compilation terminated.
> > Traceback (most recent call last):
> > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657,
> > in <module>
> > sys.exit(main())
> > ~~~~^^
> > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main
> > return args.cmdobj.run(args, argv)
> > ~~~~~~~~~~~~~~~^^^^^^^^^^^^
> > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run
> > return Docker(args.command).run(argv, args.keep, quiet=args.quiet,
> > ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > as_user=args.run_as_current_user)
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run
> > ret = self._do_check(["run", "--rm", "--label",
> > "com.qemu.instance.uuid=" + label] + cmd,
> > quiet=quiet)
> > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230,
> > in _do_check
> > return subprocess.check_call(self._command + cmd, **kwargs)
> > ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call
> > raise CalledProcessError(retcode, cmd)
> > subprocess.CalledProcessError: Command '['podman', 'run', '--rm',
> > '--label', 'com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9',
> > '--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build',
> > '-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu',
> > 'debian-amd64-cross', 'x86_64-linux-gnu-gcc',
> > '/home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c', '-o',
> > 'tests/tcg/x86_64-softmmu-hello.test', '-static', '-MMD', '-MF',
> > 'tests/tcg/x86_64-softmmu-hello.d', '-Wall', '-Werror', '-O0', '-g',
> > '-fno-strict-aliasing', '-nostdlib', '-ffreestanding',
> > '-Wa,--noexecstack', '-I',
> > '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib',
> > '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c',
> > '../tests/tcg/x86_64/system/boot.S', '-Wl,-T',
> > '../tests/tcg/x86_64/system/kernel.ld', '-Wl,-melf_x86_64',
> > '-Wl,--no-warn-rwx-segments', '-Wl,--build-id=none', '-lgcc']'
> > returned non-zero exit status 1.
> > filter=--filter=label=com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9
> > ninja: build stopped: subcommand failed.
> > make: *** [Makefile:170: run-ninja] Error 1
> >
>
> Interesting, it seems to be an issue with podman user mapping.
Maybe something I set up ages ago and promptly forgot about? I haven't
fussed with user mapping permissions in several aeons, it's possible I
have something stale in some config somewhere ...
>
> Which distro you use (especially which version)?
~> cat /etc/fedora-release
Fedora release 44 (Forty Four)
>
> Also, could you please report output of those commands:
> $ podman --version
~> podman --version
podman version 5.8.4
> $ ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c
~> ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c
-rw-r--r--. 1 jsnow jsnow 229 May 7 2025
/home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c
> $ /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \
> run --run-as-current-user -w /home/jsnow/src/qemu/build -v \
> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \
> touch -v new_file && ls -al new_file
There's no "-v" option for touch, but:
~> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \
run
--run-as-current-user -w /home/jsnow/src/qemu/build -v \
/home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \
touch new_file && ls -al new_file
touch: cannot touch 'new_file': Permission denied
Traceback (most recent call last):
File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657,
in <module>
sys.exit(main())
~~~~^^
File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main
return args.cmdobj.run(args, argv)
~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run
return Docker(args.command).run(argv, args.keep, quiet=args.quiet,
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
as_user=args.run_as_current_user)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run
ret = self._do_check(["run", "--rm", "--label",
"com.qemu.instance.uuid=" + label] + cmd,
quiet=quiet)
File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230,
in _do_check
return subprocess.check_call(self._command + cmd, **kwargs)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['podman', 'run', '--rm',
'--label', 'com.qemu.instance.uuid=d2faaf6ef4914d83b429069b4497cbb2',
'--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build',
'-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu',
'debian-amd64-cross', 'touch', 'new_file']' returned non-zero exit
status 1.
filter=--filter=label=com.qemu.instance.uuid=d2faaf6ef4914d83b429069b4497cbb2
>
> This should help us to see what's your effective uid in the container.
> Maybe this issue was present before, did you try running make check-tcg
> in the past, or not?
>
> > Is there some kind of setup I have neglected to perform to make this
> > new build system work? Is there a way I can skip these tests in the
> > meantime...?
> >
>
> You can use ./configure --disable-containers, so it will not try to use
> podman.
>
> > Thanks,
> > --js
> >
> >
>
> Regards,
> Pierrick
>
On 9/15/2026 11:26 AM, John Snow wrote: > On Tue, Sep 15, 2026 at 1:17 PM Pierrick Bouvier > <pierrick.bouvier@oss.qualcomm.com> wrote: >> >> On 9/15/2026 9:52 AM, John Snow wrote: >>> On Fri, Sep 4, 2026 at 2:04 PM Peter Maydell <peter.maydell@linaro.org> wrote: >>>> >>>> On Fri, 4 Sept 2026 at 16:08, Alex Bennée <alex.bennee@linaro.org> wrote: >>>>> >>>>> The following changes since commit d2843fbf80260e4346c856819e8cea11768c9d0e: >>>>> >>>>> Merge tag 'pull-riscv-to-apply-20260904' of https://github.com/alistair23/qemu into staging (2026-09-04 09:43:27 +0100) >>>>> >>>>> are available in the Git repository at: >>>>> >>>>> https://gitlab.com/stsquad/qemu.git tags/pull-11.1-check-tcg-meson-040926-2 >>>>> >>>>> for you to fetch changes up to 7a485176838e6b6044e73f925d308bb4b3002597: >>>>> >>>>> MAINTAINERS: add maintainer for tcg/tests meson infrastructure (2026-09-04 16:06:22 +0100) >>>>> >>>>> ---------------------------------------------------------------- >>>>> tests/tcg: conversion to meson >>>>> >>>>> - remove unused variable from multiarch/memory >>>>> - standardise checking plugin output >>>>> - bump minimal meson to 1.6.0 >>>>> - introduce meson plumbing for check-tcg >>>>> - return error code if docker probe fails >>>>> - add CI/self/mem test to gdbstub prot-none tests >>>>> - use raw opcode for fprcvt test in arm >>>>> - remove unused variables from gpc-test >>>>> - teach probe-gdb-support about mips >>>>> - identify or1k pc register >>>>> - port check-tcg logic to meson (all targets) >>>>> - update documentation >>>>> - add Pierrick as a maintainer for tests/tcg >>> >>> Hi, I'm having difficulties building after this PR, after eb7f0c14 in >>> particular. >>> >>> I keep seeing stuff like this: >>> >>> FAILED: [code=1] tests/tcg/x86_64-softmmu-hello.test >>> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman >>> run --run-as-current-user -w /home/jsnow/src/qemu/build -v >>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross >>> x86_64-linux-gnu-gcc >>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c -o >>> tests/tcg/x86_64-softmmu-hello.test -static -MMD -MF >>> tests/tcg/x86_64-softmmu-hello.d -Wall -Werror -O0 -g >>> -fno-strict-aliasing -nostdlib -ffreestanding -Wa,--noexecstack -I >>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib >>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c >>> ../tests/tcg/x86_64/system/boot.S -Wl,-T >>> ../tests/tcg/x86_64/system/kernel.ld -Wl,-melf_x86_64 >>> -Wl,--no-warn-rwx-segments -Wl,--build-id=none -lgcc >>> cc1: fatal error: >>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c: Permission >>> denied >>> compilation terminated. >>> cc1: fatal error: >>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c: >>> Permission denied >>> compilation terminated. >>> cc1: fatal error: ../tests/tcg/x86_64/system/boot.S: Permission denied >>> compilation terminated. >>> Traceback (most recent call last): >>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657, >>> in <module> >>> sys.exit(main()) >>> ~~~~^^ >>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main >>> return args.cmdobj.run(args, argv) >>> ~~~~~~~~~~~~~~~^^^^^^^^^^^^ >>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run >>> return Docker(args.command).run(argv, args.keep, quiet=args.quiet, >>> ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>> as_user=args.run_as_current_user) >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run >>> ret = self._do_check(["run", "--rm", "--label", >>> "com.qemu.instance.uuid=" + label] + cmd, >>> quiet=quiet) >>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230, >>> in _do_check >>> return subprocess.check_call(self._command + cmd, **kwargs) >>> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>> File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call >>> raise CalledProcessError(retcode, cmd) >>> subprocess.CalledProcessError: Command '['podman', 'run', '--rm', >>> '--label', 'com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9', >>> '--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build', >>> '-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu', >>> 'debian-amd64-cross', 'x86_64-linux-gnu-gcc', >>> '/home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c', '-o', >>> 'tests/tcg/x86_64-softmmu-hello.test', '-static', '-MMD', '-MF', >>> 'tests/tcg/x86_64-softmmu-hello.d', '-Wall', '-Werror', '-O0', '-g', >>> '-fno-strict-aliasing', '-nostdlib', '-ffreestanding', >>> '-Wa,--noexecstack', '-I', >>> '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib', >>> '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c', >>> '../tests/tcg/x86_64/system/boot.S', '-Wl,-T', >>> '../tests/tcg/x86_64/system/kernel.ld', '-Wl,-melf_x86_64', >>> '-Wl,--no-warn-rwx-segments', '-Wl,--build-id=none', '-lgcc']' >>> returned non-zero exit status 1. >>> filter=--filter=label=com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9 >>> ninja: build stopped: subcommand failed. >>> make: *** [Makefile:170: run-ninja] Error 1 >>> >> >> Interesting, it seems to be an issue with podman user mapping. > > Maybe something I set up ages ago and promptly forgot about? I haven't > fussed with user mapping permissions in several aeons, it's possible I > have something stale in some config somewhere ... > >> >> Which distro you use (especially which version)? > > ~> cat /etc/fedora-release > Fedora release 44 (Forty Four) > >> >> Also, could you please report output of those commands: >> $ podman --version > > ~> podman --version > podman version 5.8.4 > >> $ ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c > > ~> ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c > -rw-r--r--. 1 jsnow jsnow 229 May 7 2025 > /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c > >> $ /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ >> run --run-as-current-user -w /home/jsnow/src/qemu/build -v \ >> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \ >> touch -v new_file && ls -al new_file > > There's no "-v" option for touch, but: > Copy-paste mistake sorry, thanks for fixing command. > ~> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ > run > --run-as-current-user -w /home/jsnow/src/qemu/build -v \ > > /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \ > > touch new_file && ls -al new_file > touch: cannot touch 'new_file': Permission denied > Traceback (most recent call last): > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657, > in <module> > sys.exit(main()) > ~~~~^^ > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main > return args.cmdobj.run(args, argv) > ~~~~~~~~~~~~~~~^^^^^^^^^^^^ > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run > return Docker(args.command).run(argv, args.keep, quiet=args.quiet, > ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > as_user=args.run_as_current_user) > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run > ret = self._do_check(["run", "--rm", "--label", > "com.qemu.instance.uuid=" + label] + cmd, > quiet=quiet) > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230, > in _do_check > return subprocess.check_call(self._command + cmd, **kwargs) > ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call > raise CalledProcessError(retcode, cmd) > subprocess.CalledProcessError: Command '['podman', 'run', '--rm', > '--label', 'com.qemu.instance.uuid=d2faaf6ef4914d83b429069b4497cbb2', > '--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build', > '-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu', > 'debian-amd64-cross', 'touch', 'new_file']' returned non-zero exit > status 1. > filter=--filter=label=com.qemu.instance.uuid=d2faaf6ef4914d83b429069b4497cbb2 > What is the content of your /etc/subuid? Giving your user id (21266), I guess you have a LDAP account or something similar: not a local account. I had the same issue on my corporate VM, and had to add an explicit mapping for my user. You should have something like: $ cat /etc/subuid jsnow:100000:65536 $ cat /etc/subgid jsnow:100000:65536 Let me know if it solves your problem, else we'll find something else. > > >> >> This should help us to see what's your effective uid in the container. >> Maybe this issue was present before, did you try running make check-tcg >> in the past, or not? >> >>> Is there some kind of setup I have neglected to perform to make this >>> new build system work? Is there a way I can skip these tests in the >>> meantime...? >>> >> >> You can use ./configure --disable-containers, so it will not try to use >> podman. >> >>> Thanks, >>> --js >>> >>> >> >> Regards, >> Pierrick >> >
On Tue, Sep 15, 2026 at 3:07 PM Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> wrote: > > On 9/15/2026 11:26 AM, John Snow wrote: > > On Tue, Sep 15, 2026 at 1:17 PM Pierrick Bouvier > > <pierrick.bouvier@oss.qualcomm.com> wrote: > >> > >> On 9/15/2026 9:52 AM, John Snow wrote: > >>> On Fri, Sep 4, 2026 at 2:04 PM Peter Maydell <peter.maydell@linaro.org> wrote: > >>>> > >>>> On Fri, 4 Sept 2026 at 16:08, Alex Bennée <alex.bennee@linaro.org> wrote: > >>>>> > >>>>> The following changes since commit d2843fbf80260e4346c856819e8cea11768c9d0e: > >>>>> > >>>>> Merge tag 'pull-riscv-to-apply-20260904' of https://github.com/alistair23/qemu into staging (2026-09-04 09:43:27 +0100) > >>>>> > >>>>> are available in the Git repository at: > >>>>> > >>>>> https://gitlab.com/stsquad/qemu.git tags/pull-11.1-check-tcg-meson-040926-2 > >>>>> > >>>>> for you to fetch changes up to 7a485176838e6b6044e73f925d308bb4b3002597: > >>>>> > >>>>> MAINTAINERS: add maintainer for tcg/tests meson infrastructure (2026-09-04 16:06:22 +0100) > >>>>> > >>>>> ---------------------------------------------------------------- > >>>>> tests/tcg: conversion to meson > >>>>> > >>>>> - remove unused variable from multiarch/memory > >>>>> - standardise checking plugin output > >>>>> - bump minimal meson to 1.6.0 > >>>>> - introduce meson plumbing for check-tcg > >>>>> - return error code if docker probe fails > >>>>> - add CI/self/mem test to gdbstub prot-none tests > >>>>> - use raw opcode for fprcvt test in arm > >>>>> - remove unused variables from gpc-test > >>>>> - teach probe-gdb-support about mips > >>>>> - identify or1k pc register > >>>>> - port check-tcg logic to meson (all targets) > >>>>> - update documentation > >>>>> - add Pierrick as a maintainer for tests/tcg > >>> > >>> Hi, I'm having difficulties building after this PR, after eb7f0c14 in > >>> particular. > >>> > >>> I keep seeing stuff like this: > >>> > >>> FAILED: [code=1] tests/tcg/x86_64-softmmu-hello.test > >>> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman > >>> run --run-as-current-user -w /home/jsnow/src/qemu/build -v > >>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross > >>> x86_64-linux-gnu-gcc > >>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c -o > >>> tests/tcg/x86_64-softmmu-hello.test -static -MMD -MF > >>> tests/tcg/x86_64-softmmu-hello.d -Wall -Werror -O0 -g > >>> -fno-strict-aliasing -nostdlib -ffreestanding -Wa,--noexecstack -I > >>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib > >>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c > >>> ../tests/tcg/x86_64/system/boot.S -Wl,-T > >>> ../tests/tcg/x86_64/system/kernel.ld -Wl,-melf_x86_64 > >>> -Wl,--no-warn-rwx-segments -Wl,--build-id=none -lgcc > >>> cc1: fatal error: > >>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c: Permission > >>> denied > >>> compilation terminated. > >>> cc1: fatal error: > >>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c: > >>> Permission denied > >>> compilation terminated. > >>> cc1: fatal error: ../tests/tcg/x86_64/system/boot.S: Permission denied > >>> compilation terminated. > >>> Traceback (most recent call last): > >>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657, > >>> in <module> > >>> sys.exit(main()) > >>> ~~~~^^ > >>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main > >>> return args.cmdobj.run(args, argv) > >>> ~~~~~~~~~~~~~~~^^^^^^^^^^^^ > >>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run > >>> return Docker(args.command).run(argv, args.keep, quiet=args.quiet, > >>> ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>> as_user=args.run_as_current_user) > >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run > >>> ret = self._do_check(["run", "--rm", "--label", > >>> "com.qemu.instance.uuid=" + label] + cmd, > >>> quiet=quiet) > >>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230, > >>> in _do_check > >>> return subprocess.check_call(self._command + cmd, **kwargs) > >>> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>> File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call > >>> raise CalledProcessError(retcode, cmd) > >>> subprocess.CalledProcessError: Command '['podman', 'run', '--rm', > >>> '--label', 'com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9', > >>> '--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build', > >>> '-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu', > >>> 'debian-amd64-cross', 'x86_64-linux-gnu-gcc', > >>> '/home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c', '-o', > >>> 'tests/tcg/x86_64-softmmu-hello.test', '-static', '-MMD', '-MF', > >>> 'tests/tcg/x86_64-softmmu-hello.d', '-Wall', '-Werror', '-O0', '-g', > >>> '-fno-strict-aliasing', '-nostdlib', '-ffreestanding', > >>> '-Wa,--noexecstack', '-I', > >>> '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib', > >>> '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c', > >>> '../tests/tcg/x86_64/system/boot.S', '-Wl,-T', > >>> '../tests/tcg/x86_64/system/kernel.ld', '-Wl,-melf_x86_64', > >>> '-Wl,--no-warn-rwx-segments', '-Wl,--build-id=none', '-lgcc']' > >>> returned non-zero exit status 1. > >>> filter=--filter=label=com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9 > >>> ninja: build stopped: subcommand failed. > >>> make: *** [Makefile:170: run-ninja] Error 1 > >>> > >> > >> Interesting, it seems to be an issue with podman user mapping. > > > > Maybe something I set up ages ago and promptly forgot about? I haven't > > fussed with user mapping permissions in several aeons, it's possible I > > have something stale in some config somewhere ... > > > >> > >> Which distro you use (especially which version)? > > > > ~> cat /etc/fedora-release > > Fedora release 44 (Forty Four) > > > >> > >> Also, could you please report output of those commands: > >> $ podman --version > > > > ~> podman --version > > podman version 5.8.4 > > > >> $ ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c > > > > ~> ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c > > -rw-r--r--. 1 jsnow jsnow 229 May 7 2025 > > /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c > > > >> $ /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ > >> run --run-as-current-user -w /home/jsnow/src/qemu/build -v \ > >> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \ > >> touch -v new_file && ls -al new_file > > > > There's no "-v" option for touch, but: > > > > Copy-paste mistake sorry, thanks for fixing command. > > > ~> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ > > run > > --run-as-current-user -w /home/jsnow/src/qemu/build -v \ > > > > /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \ > > > > touch new_file && ls -al new_file > > touch: cannot touch 'new_file': Permission denied > > Traceback (most recent call last): > > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657, > > in <module> > > sys.exit(main()) > > ~~~~^^ > > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main > > return args.cmdobj.run(args, argv) > > ~~~~~~~~~~~~~~~^^^^^^^^^^^^ > > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run > > return Docker(args.command).run(argv, args.keep, quiet=args.quiet, > > ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > as_user=args.run_as_current_user) > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run > > ret = self._do_check(["run", "--rm", "--label", > > "com.qemu.instance.uuid=" + label] + cmd, > > quiet=quiet) > > File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230, > > in _do_check > > return subprocess.check_call(self._command + cmd, **kwargs) > > ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call > > raise CalledProcessError(retcode, cmd) > > subprocess.CalledProcessError: Command '['podman', 'run', '--rm', > > '--label', 'com.qemu.instance.uuid=d2faaf6ef4914d83b429069b4497cbb2', > > '--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build', > > '-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu', > > 'debian-amd64-cross', 'touch', 'new_file']' returned non-zero exit > > status 1. > > filter=--filter=label=com.qemu.instance.uuid=d2faaf6ef4914d83b429069b4497cbb2 > > > > What is the content of your /etc/subuid? > > Giving your user id (21266), I guess you have a LDAP account or > something similar: not a local account. > I had the same issue on my corporate VM, and had to add an explicit > mapping for my user. > > You should have something like: > > $ cat /etc/subuid > jsnow:100000:65536 > $ cat /etc/subgid > jsnow:100000:65536 I updated my entries to this; I am still having problems so I assume I need to refresh my login or restart or some such thing. Will have to try that a little bit later :) Do you think it's possible to add a simple "hello world" example that tries to touch a source file to determine if permissions are appropriately set up, and if not, gives a nice human-readable error message? (Along with advice to try --disable-containers as a fallback.) > > Let me know if it solves your problem, else we'll find something else. > > > > > > >> > >> This should help us to see what's your effective uid in the container. > >> Maybe this issue was present before, did you try running make check-tcg > >> in the past, or not? > >> > >>> Is there some kind of setup I have neglected to perform to make this > >>> new build system work? Is there a way I can skip these tests in the > >>> meantime...? > >>> > >> > >> You can use ./configure --disable-containers, so it will not try to use > >> podman. > >> > >>> Thanks, > >>> --js > >>> > >>> > >> > >> Regards, > >> Pierrick > >> > > >
On 9/15/2026 12:22 PM, John Snow wrote: > On Tue, Sep 15, 2026 at 3:07 PM Pierrick Bouvier > <pierrick.bouvier@oss.qualcomm.com> wrote: >> >> On 9/15/2026 11:26 AM, John Snow wrote: >>> On Tue, Sep 15, 2026 at 1:17 PM Pierrick Bouvier >>> <pierrick.bouvier@oss.qualcomm.com> wrote: >>>> >>>> On 9/15/2026 9:52 AM, John Snow wrote: >>>>> On Fri, Sep 4, 2026 at 2:04 PM Peter Maydell <peter.maydell@linaro.org> wrote: >>>>>> >>>>>> On Fri, 4 Sept 2026 at 16:08, Alex Bennée <alex.bennee@linaro.org> wrote: >>>>>>> >>>>>>> The following changes since commit d2843fbf80260e4346c856819e8cea11768c9d0e: >>>>>>> >>>>>>> Merge tag 'pull-riscv-to-apply-20260904' of https://github.com/alistair23/qemu into staging (2026-09-04 09:43:27 +0100) >>>>>>> >>>>>>> are available in the Git repository at: >>>>>>> >>>>>>> https://gitlab.com/stsquad/qemu.git tags/pull-11.1-check-tcg-meson-040926-2 >>>>>>> >>>>>>> for you to fetch changes up to 7a485176838e6b6044e73f925d308bb4b3002597: >>>>>>> >>>>>>> MAINTAINERS: add maintainer for tcg/tests meson infrastructure (2026-09-04 16:06:22 +0100) >>>>>>> >>>>>>> ---------------------------------------------------------------- >>>>>>> tests/tcg: conversion to meson >>>>>>> >>>>>>> - remove unused variable from multiarch/memory >>>>>>> - standardise checking plugin output >>>>>>> - bump minimal meson to 1.6.0 >>>>>>> - introduce meson plumbing for check-tcg >>>>>>> - return error code if docker probe fails >>>>>>> - add CI/self/mem test to gdbstub prot-none tests >>>>>>> - use raw opcode for fprcvt test in arm >>>>>>> - remove unused variables from gpc-test >>>>>>> - teach probe-gdb-support about mips >>>>>>> - identify or1k pc register >>>>>>> - port check-tcg logic to meson (all targets) >>>>>>> - update documentation >>>>>>> - add Pierrick as a maintainer for tests/tcg >>>>> >>>>> Hi, I'm having difficulties building after this PR, after eb7f0c14 in >>>>> particular. >>>>> >>>>> I keep seeing stuff like this: >>>>> >>>>> FAILED: [code=1] tests/tcg/x86_64-softmmu-hello.test >>>>> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman >>>>> run --run-as-current-user -w /home/jsnow/src/qemu/build -v >>>>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross >>>>> x86_64-linux-gnu-gcc >>>>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c -o >>>>> tests/tcg/x86_64-softmmu-hello.test -static -MMD -MF >>>>> tests/tcg/x86_64-softmmu-hello.d -Wall -Werror -O0 -g >>>>> -fno-strict-aliasing -nostdlib -ffreestanding -Wa,--noexecstack -I >>>>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib >>>>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c >>>>> ../tests/tcg/x86_64/system/boot.S -Wl,-T >>>>> ../tests/tcg/x86_64/system/kernel.ld -Wl,-melf_x86_64 >>>>> -Wl,--no-warn-rwx-segments -Wl,--build-id=none -lgcc >>>>> cc1: fatal error: >>>>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c: Permission >>>>> denied >>>>> compilation terminated. >>>>> cc1: fatal error: >>>>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c: >>>>> Permission denied >>>>> compilation terminated. >>>>> cc1: fatal error: ../tests/tcg/x86_64/system/boot.S: Permission denied >>>>> compilation terminated. >>>>> Traceback (most recent call last): >>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657, >>>>> in <module> >>>>> sys.exit(main()) >>>>> ~~~~^^ >>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main >>>>> return args.cmdobj.run(args, argv) >>>>> ~~~~~~~~~~~~~~~^^^^^^^^^^^^ >>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run >>>>> return Docker(args.command).run(argv, args.keep, quiet=args.quiet, >>>>> ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>> as_user=args.run_as_current_user) >>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run >>>>> ret = self._do_check(["run", "--rm", "--label", >>>>> "com.qemu.instance.uuid=" + label] + cmd, >>>>> quiet=quiet) >>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230, >>>>> in _do_check >>>>> return subprocess.check_call(self._command + cmd, **kwargs) >>>>> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>> File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call >>>>> raise CalledProcessError(retcode, cmd) >>>>> subprocess.CalledProcessError: Command '['podman', 'run', '--rm', >>>>> '--label', 'com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9', >>>>> '--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build', >>>>> '-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu', >>>>> 'debian-amd64-cross', 'x86_64-linux-gnu-gcc', >>>>> '/home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c', '-o', >>>>> 'tests/tcg/x86_64-softmmu-hello.test', '-static', '-MMD', '-MF', >>>>> 'tests/tcg/x86_64-softmmu-hello.d', '-Wall', '-Werror', '-O0', '-g', >>>>> '-fno-strict-aliasing', '-nostdlib', '-ffreestanding', >>>>> '-Wa,--noexecstack', '-I', >>>>> '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib', >>>>> '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c', >>>>> '../tests/tcg/x86_64/system/boot.S', '-Wl,-T', >>>>> '../tests/tcg/x86_64/system/kernel.ld', '-Wl,-melf_x86_64', >>>>> '-Wl,--no-warn-rwx-segments', '-Wl,--build-id=none', '-lgcc']' >>>>> returned non-zero exit status 1. >>>>> filter=--filter=label=com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9 >>>>> ninja: build stopped: subcommand failed. >>>>> make: *** [Makefile:170: run-ninja] Error 1 >>>>> >>>> >>>> Interesting, it seems to be an issue with podman user mapping. >>> >>> Maybe something I set up ages ago and promptly forgot about? I haven't >>> fussed with user mapping permissions in several aeons, it's possible I >>> have something stale in some config somewhere ... >>> >>>> >>>> Which distro you use (especially which version)? >>> >>> ~> cat /etc/fedora-release >>> Fedora release 44 (Forty Four) >>> >>>> >>>> Also, could you please report output of those commands: >>>> $ podman --version >>> >>> ~> podman --version >>> podman version 5.8.4 >>> >>>> $ ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c >>> >>> ~> ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c >>> -rw-r--r--. 1 jsnow jsnow 229 May 7 2025 >>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c >>> >>>> $ /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ >>>> run --run-as-current-user -w /home/jsnow/src/qemu/build -v \ >>>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \ >>>> touch -v new_file && ls -al new_file >>> >>> There's no "-v" option for touch, but: >>> >> >> Copy-paste mistake sorry, thanks for fixing command. >> >>> ~> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ >>> run >>> --run-as-current-user -w /home/jsnow/src/qemu/build -v \ >>> >>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \ >>> >>> touch new_file && ls -al new_file >>> touch: cannot touch 'new_file': Permission denied >>> Traceback (most recent call last): >>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657, >>> in <module> >>> sys.exit(main()) >>> ~~~~^^ >>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main >>> return args.cmdobj.run(args, argv) >>> ~~~~~~~~~~~~~~~^^^^^^^^^^^^ >>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run >>> return Docker(args.command).run(argv, args.keep, quiet=args.quiet, >>> ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>> as_user=args.run_as_current_user) >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run >>> ret = self._do_check(["run", "--rm", "--label", >>> "com.qemu.instance.uuid=" + label] + cmd, >>> quiet=quiet) >>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230, >>> in _do_check >>> return subprocess.check_call(self._command + cmd, **kwargs) >>> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>> File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call >>> raise CalledProcessError(retcode, cmd) >>> subprocess.CalledProcessError: Command '['podman', 'run', '--rm', >>> '--label', 'com.qemu.instance.uuid=d2faaf6ef4914d83b429069b4497cbb2', >>> '--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build', >>> '-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu', >>> 'debian-amd64-cross', 'touch', 'new_file']' returned non-zero exit >>> status 1. >>> filter=--filter=label=com.qemu.instance.uuid=d2faaf6ef4914d83b429069b4497cbb2 >>> >> >> What is the content of your /etc/subuid? >> >> Giving your user id (21266), I guess you have a LDAP account or >> something similar: not a local account. >> I had the same issue on my corporate VM, and had to add an explicit >> mapping for my user. >> >> You should have something like: >> >> $ cat /etc/subuid >> jsnow:100000:65536 >> $ cat /etc/subgid >> jsnow:100000:65536 > > I updated my entries to this; I am still having problems so I assume I > need to refresh my login or restart or some such thing. Will have to > try that a little bit later :) > > Do you think it's possible to add a simple "hello world" example that > tries to touch a source file to determine if permissions are > appropriately set up, and if not, gives a nice human-readable error > message? (Along with advice to try --disable-containers as a > fallback.) > It could be possible to add something to docker.py probe directly. However, it would be good to know why there is an issue on your setup at the moment, just to rule out another obvious error. >> >> Let me know if it solves your problem, else we'll find something else. >> >>> >>> >>>> >>>> This should help us to see what's your effective uid in the container. >>>> Maybe this issue was present before, did you try running make check-tcg >>>> in the past, or not? >>>> >>>>> Is there some kind of setup I have neglected to perform to make this >>>>> new build system work? Is there a way I can skip these tests in the >>>>> meantime...? >>>>> >>>> >>>> You can use ./configure --disable-containers, so it will not try to use >>>> podman. >>>> >>>>> Thanks, >>>>> --js >>>>> >>>>> >>>> >>>> Regards, >>>> Pierrick >>>> >>> >> >
On 9/15/2026 1:04 PM, Pierrick Bouvier wrote: > On 9/15/2026 12:22 PM, John Snow wrote: >> On Tue, Sep 15, 2026 at 3:07 PM Pierrick Bouvier >> <pierrick.bouvier@oss.qualcomm.com> wrote: >>> >>> On 9/15/2026 11:26 AM, John Snow wrote: >>>> On Tue, Sep 15, 2026 at 1:17 PM Pierrick Bouvier >>>> <pierrick.bouvier@oss.qualcomm.com> wrote: >>>>> >>>>> On 9/15/2026 9:52 AM, John Snow wrote: >>>>>> On Fri, Sep 4, 2026 at 2:04 PM Peter Maydell <peter.maydell@linaro.org> wrote: >>>>>>> >>>>>>> On Fri, 4 Sept 2026 at 16:08, Alex Bennée <alex.bennee@linaro.org> wrote: >>>>>>>> >>>>>>>> The following changes since commit d2843fbf80260e4346c856819e8cea11768c9d0e: >>>>>>>> >>>>>>>> Merge tag 'pull-riscv-to-apply-20260904' of https://github.com/alistair23/qemu into staging (2026-09-04 09:43:27 +0100) >>>>>>>> >>>>>>>> are available in the Git repository at: >>>>>>>> >>>>>>>> https://gitlab.com/stsquad/qemu.git tags/pull-11.1-check-tcg-meson-040926-2 >>>>>>>> >>>>>>>> for you to fetch changes up to 7a485176838e6b6044e73f925d308bb4b3002597: >>>>>>>> >>>>>>>> MAINTAINERS: add maintainer for tcg/tests meson infrastructure (2026-09-04 16:06:22 +0100) >>>>>>>> >>>>>>>> ---------------------------------------------------------------- >>>>>>>> tests/tcg: conversion to meson >>>>>>>> >>>>>>>> - remove unused variable from multiarch/memory >>>>>>>> - standardise checking plugin output >>>>>>>> - bump minimal meson to 1.6.0 >>>>>>>> - introduce meson plumbing for check-tcg >>>>>>>> - return error code if docker probe fails >>>>>>>> - add CI/self/mem test to gdbstub prot-none tests >>>>>>>> - use raw opcode for fprcvt test in arm >>>>>>>> - remove unused variables from gpc-test >>>>>>>> - teach probe-gdb-support about mips >>>>>>>> - identify or1k pc register >>>>>>>> - port check-tcg logic to meson (all targets) >>>>>>>> - update documentation >>>>>>>> - add Pierrick as a maintainer for tests/tcg >>>>>> >>>>>> Hi, I'm having difficulties building after this PR, after eb7f0c14 in >>>>>> particular. >>>>>> >>>>>> I keep seeing stuff like this: >>>>>> >>>>>> FAILED: [code=1] tests/tcg/x86_64-softmmu-hello.test >>>>>> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman >>>>>> run --run-as-current-user -w /home/jsnow/src/qemu/build -v >>>>>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross >>>>>> x86_64-linux-gnu-gcc >>>>>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c -o >>>>>> tests/tcg/x86_64-softmmu-hello.test -static -MMD -MF >>>>>> tests/tcg/x86_64-softmmu-hello.d -Wall -Werror -O0 -g >>>>>> -fno-strict-aliasing -nostdlib -ffreestanding -Wa,--noexecstack -I >>>>>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib >>>>>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c >>>>>> ../tests/tcg/x86_64/system/boot.S -Wl,-T >>>>>> ../tests/tcg/x86_64/system/kernel.ld -Wl,-melf_x86_64 >>>>>> -Wl,--no-warn-rwx-segments -Wl,--build-id=none -lgcc >>>>>> cc1: fatal error: >>>>>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c: Permission >>>>>> denied >>>>>> compilation terminated. >>>>>> cc1: fatal error: >>>>>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c: >>>>>> Permission denied >>>>>> compilation terminated. >>>>>> cc1: fatal error: ../tests/tcg/x86_64/system/boot.S: Permission denied >>>>>> compilation terminated. >>>>>> Traceback (most recent call last): >>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657, >>>>>> in <module> >>>>>> sys.exit(main()) >>>>>> ~~~~^^ >>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main >>>>>> return args.cmdobj.run(args, argv) >>>>>> ~~~~~~~~~~~~~~~^^^^^^^^^^^^ >>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run >>>>>> return Docker(args.command).run(argv, args.keep, quiet=args.quiet, >>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> as_user=args.run_as_current_user) >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run >>>>>> ret = self._do_check(["run", "--rm", "--label", >>>>>> "com.qemu.instance.uuid=" + label] + cmd, >>>>>> quiet=quiet) >>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230, >>>>>> in _do_check >>>>>> return subprocess.check_call(self._command + cmd, **kwargs) >>>>>> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call >>>>>> raise CalledProcessError(retcode, cmd) >>>>>> subprocess.CalledProcessError: Command '['podman', 'run', '--rm', >>>>>> '--label', 'com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9', >>>>>> '--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build', >>>>>> '-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu', >>>>>> 'debian-amd64-cross', 'x86_64-linux-gnu-gcc', >>>>>> '/home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c', '-o', >>>>>> 'tests/tcg/x86_64-softmmu-hello.test', '-static', '-MMD', '-MF', >>>>>> 'tests/tcg/x86_64-softmmu-hello.d', '-Wall', '-Werror', '-O0', '-g', >>>>>> '-fno-strict-aliasing', '-nostdlib', '-ffreestanding', >>>>>> '-Wa,--noexecstack', '-I', >>>>>> '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib', >>>>>> '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c', >>>>>> '../tests/tcg/x86_64/system/boot.S', '-Wl,-T', >>>>>> '../tests/tcg/x86_64/system/kernel.ld', '-Wl,-melf_x86_64', >>>>>> '-Wl,--no-warn-rwx-segments', '-Wl,--build-id=none', '-lgcc']' >>>>>> returned non-zero exit status 1. >>>>>> filter=--filter=label=com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9 >>>>>> ninja: build stopped: subcommand failed. >>>>>> make: *** [Makefile:170: run-ninja] Error 1 >>>>>> >>>>> >>>>> Interesting, it seems to be an issue with podman user mapping. >>>> >>>> Maybe something I set up ages ago and promptly forgot about? I haven't >>>> fussed with user mapping permissions in several aeons, it's possible I >>>> have something stale in some config somewhere ... >>>> >>>>> >>>>> Which distro you use (especially which version)? >>>> >>>> ~> cat /etc/fedora-release >>>> Fedora release 44 (Forty Four) >>>> >>>>> >>>>> Also, could you please report output of those commands: >>>>> $ podman --version >>>> >>>> ~> podman --version >>>> podman version 5.8.4 >>>> >>>>> $ ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c >>>> >>>> ~> ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c >>>> -rw-r--r--. 1 jsnow jsnow 229 May 7 2025 >>>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c >>>> >>>>> $ /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ >>>>> run --run-as-current-user -w /home/jsnow/src/qemu/build -v \ >>>>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \ >>>>> touch -v new_file && ls -al new_file >>>> >>>> There's no "-v" option for touch, but: >>>> >>> >>> Copy-paste mistake sorry, thanks for fixing command. >>> >>>> ~> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ >>>> run >>>> --run-as-current-user -w /home/jsnow/src/qemu/build -v \ >>>> >>>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \ >>>> >>>> touch new_file && ls -al new_file >>>> touch: cannot touch 'new_file': Permission denied >>>> Traceback (most recent call last): >>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657, >>>> in <module> >>>> sys.exit(main()) >>>> ~~~~^^ >>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main >>>> return args.cmdobj.run(args, argv) >>>> ~~~~~~~~~~~~~~~^^^^^^^^^^^^ >>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run >>>> return Docker(args.command).run(argv, args.keep, quiet=args.quiet, >>>> ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>> as_user=args.run_as_current_user) >>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run >>>> ret = self._do_check(["run", "--rm", "--label", >>>> "com.qemu.instance.uuid=" + label] + cmd, >>>> quiet=quiet) >>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230, >>>> in _do_check >>>> return subprocess.check_call(self._command + cmd, **kwargs) >>>> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>> File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call >>>> raise CalledProcessError(retcode, cmd) >>>> subprocess.CalledProcessError: Command '['podman', 'run', '--rm', >>>> '--label', 'com.qemu.instance.uuid=d2faaf6ef4914d83b429069b4497cbb2', >>>> '--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build', >>>> '-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu', >>>> 'debian-amd64-cross', 'touch', 'new_file']' returned non-zero exit >>>> status 1. >>>> filter=--filter=label=com.qemu.instance.uuid=d2faaf6ef4914d83b429069b4497cbb2 >>>> >>> >>> What is the content of your /etc/subuid? >>> >>> Giving your user id (21266), I guess you have a LDAP account or >>> something similar: not a local account. >>> I had the same issue on my corporate VM, and had to add an explicit >>> mapping for my user. >>> >>> You should have something like: >>> >>> $ cat /etc/subuid >>> jsnow:100000:65536 >>> $ cat /etc/subgid >>> jsnow:100000:65536 >> >> I updated my entries to this; I am still having problems so I assume I >> need to refresh my login or restart or some such thing. Will have to >> try that a little bit later :) >> >> Do you think it's possible to add a simple "hello world" example that >> tries to touch a source file to determine if permissions are >> appropriately set up, and if not, gives a nice human-readable error >> message? (Along with advice to try --disable-containers as a >> fallback.) >> > > It could be possible to add something to docker.py probe directly. > However, it would be good to know why there is an issue on your setup at > the moment, just to rule out another obvious error. > Would that be possible to try a shared mount (:z)? /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ run --run-as-current-user -w /home/jsnow/src/qemu/build -v \ /home/jsnow/src/qemu:/home/jsnow/src/qemu:z debian-amd64-cross \ touch -v new_file && ls -al new_file If it works, that's related to SELinux blocking such access by default. And we can add the flag inconditionally. >>> >>> Let me know if it solves your problem, else we'll find something else. >>> >>>> >>>> >>>>> >>>>> This should help us to see what's your effective uid in the container. >>>>> Maybe this issue was present before, did you try running make check-tcg >>>>> in the past, or not? >>>>> >>>>>> Is there some kind of setup I have neglected to perform to make this >>>>>> new build system work? Is there a way I can skip these tests in the >>>>>> meantime...? >>>>>> >>>>> >>>>> You can use ./configure --disable-containers, so it will not try to use >>>>> podman. >>>>> >>>>>> Thanks, >>>>>> --js >>>>>> >>>>>> >>>>> >>>>> Regards, >>>>> Pierrick >>>>> >>>> >>> >> >
On 9/15/2026 1:10 PM, Pierrick Bouvier wrote: > On 9/15/2026 1:04 PM, Pierrick Bouvier wrote: >> On 9/15/2026 12:22 PM, John Snow wrote: >>> On Tue, Sep 15, 2026 at 3:07 PM Pierrick Bouvier >>> <pierrick.bouvier@oss.qualcomm.com> wrote: >>>> >>>> On 9/15/2026 11:26 AM, John Snow wrote: >>>>> On Tue, Sep 15, 2026 at 1:17 PM Pierrick Bouvier >>>>> <pierrick.bouvier@oss.qualcomm.com> wrote: >>>>>> >>>>>> On 9/15/2026 9:52 AM, John Snow wrote: >>>>>>> On Fri, Sep 4, 2026 at 2:04 PM Peter Maydell <peter.maydell@linaro.org> wrote: >>>>>>>> >>>>>>>> On Fri, 4 Sept 2026 at 16:08, Alex Bennée <alex.bennee@linaro.org> wrote: >>>>>>>>> >>>>>>>>> The following changes since commit d2843fbf80260e4346c856819e8cea11768c9d0e: >>>>>>>>> >>>>>>>>> Merge tag 'pull-riscv-to-apply-20260904' of https://github.com/alistair23/qemu into staging (2026-09-04 09:43:27 +0100) >>>>>>>>> >>>>>>>>> are available in the Git repository at: >>>>>>>>> >>>>>>>>> https://gitlab.com/stsquad/qemu.git tags/pull-11.1-check-tcg-meson-040926-2 >>>>>>>>> >>>>>>>>> for you to fetch changes up to 7a485176838e6b6044e73f925d308bb4b3002597: >>>>>>>>> >>>>>>>>> MAINTAINERS: add maintainer for tcg/tests meson infrastructure (2026-09-04 16:06:22 +0100) >>>>>>>>> >>>>>>>>> ---------------------------------------------------------------- >>>>>>>>> tests/tcg: conversion to meson >>>>>>>>> >>>>>>>>> - remove unused variable from multiarch/memory >>>>>>>>> - standardise checking plugin output >>>>>>>>> - bump minimal meson to 1.6.0 >>>>>>>>> - introduce meson plumbing for check-tcg >>>>>>>>> - return error code if docker probe fails >>>>>>>>> - add CI/self/mem test to gdbstub prot-none tests >>>>>>>>> - use raw opcode for fprcvt test in arm >>>>>>>>> - remove unused variables from gpc-test >>>>>>>>> - teach probe-gdb-support about mips >>>>>>>>> - identify or1k pc register >>>>>>>>> - port check-tcg logic to meson (all targets) >>>>>>>>> - update documentation >>>>>>>>> - add Pierrick as a maintainer for tests/tcg >>>>>>> >>>>>>> Hi, I'm having difficulties building after this PR, after eb7f0c14 in >>>>>>> particular. >>>>>>> >>>>>>> I keep seeing stuff like this: >>>>>>> >>>>>>> FAILED: [code=1] tests/tcg/x86_64-softmmu-hello.test >>>>>>> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman >>>>>>> run --run-as-current-user -w /home/jsnow/src/qemu/build -v >>>>>>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross >>>>>>> x86_64-linux-gnu-gcc >>>>>>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c -o >>>>>>> tests/tcg/x86_64-softmmu-hello.test -static -MMD -MF >>>>>>> tests/tcg/x86_64-softmmu-hello.d -Wall -Werror -O0 -g >>>>>>> -fno-strict-aliasing -nostdlib -ffreestanding -Wa,--noexecstack -I >>>>>>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib >>>>>>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c >>>>>>> ../tests/tcg/x86_64/system/boot.S -Wl,-T >>>>>>> ../tests/tcg/x86_64/system/kernel.ld -Wl,-melf_x86_64 >>>>>>> -Wl,--no-warn-rwx-segments -Wl,--build-id=none -lgcc >>>>>>> cc1: fatal error: >>>>>>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c: Permission >>>>>>> denied >>>>>>> compilation terminated. >>>>>>> cc1: fatal error: >>>>>>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c: >>>>>>> Permission denied >>>>>>> compilation terminated. >>>>>>> cc1: fatal error: ../tests/tcg/x86_64/system/boot.S: Permission denied >>>>>>> compilation terminated. >>>>>>> Traceback (most recent call last): >>>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657, >>>>>>> in <module> >>>>>>> sys.exit(main()) >>>>>>> ~~~~^^ >>>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main >>>>>>> return args.cmdobj.run(args, argv) >>>>>>> ~~~~~~~~~~~~~~~^^^^^^^^^^^^ >>>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run >>>>>>> return Docker(args.command).run(argv, args.keep, quiet=args.quiet, >>>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>>> as_user=args.run_as_current_user) >>>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run >>>>>>> ret = self._do_check(["run", "--rm", "--label", >>>>>>> "com.qemu.instance.uuid=" + label] + cmd, >>>>>>> quiet=quiet) >>>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230, >>>>>>> in _do_check >>>>>>> return subprocess.check_call(self._command + cmd, **kwargs) >>>>>>> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>>> File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call >>>>>>> raise CalledProcessError(retcode, cmd) >>>>>>> subprocess.CalledProcessError: Command '['podman', 'run', '--rm', >>>>>>> '--label', 'com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9', >>>>>>> '--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build', >>>>>>> '-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu', >>>>>>> 'debian-amd64-cross', 'x86_64-linux-gnu-gcc', >>>>>>> '/home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c', '-o', >>>>>>> 'tests/tcg/x86_64-softmmu-hello.test', '-static', '-MMD', '-MF', >>>>>>> 'tests/tcg/x86_64-softmmu-hello.d', '-Wall', '-Werror', '-O0', '-g', >>>>>>> '-fno-strict-aliasing', '-nostdlib', '-ffreestanding', >>>>>>> '-Wa,--noexecstack', '-I', >>>>>>> '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib', >>>>>>> '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c', >>>>>>> '../tests/tcg/x86_64/system/boot.S', '-Wl,-T', >>>>>>> '../tests/tcg/x86_64/system/kernel.ld', '-Wl,-melf_x86_64', >>>>>>> '-Wl,--no-warn-rwx-segments', '-Wl,--build-id=none', '-lgcc']' >>>>>>> returned non-zero exit status 1. >>>>>>> filter=--filter=label=com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9 >>>>>>> ninja: build stopped: subcommand failed. >>>>>>> make: *** [Makefile:170: run-ninja] Error 1 >>>>>>> >>>>>> >>>>>> Interesting, it seems to be an issue with podman user mapping. >>>>> >>>>> Maybe something I set up ages ago and promptly forgot about? I haven't >>>>> fussed with user mapping permissions in several aeons, it's possible I >>>>> have something stale in some config somewhere ... >>>>> >>>>>> >>>>>> Which distro you use (especially which version)? >>>>> >>>>> ~> cat /etc/fedora-release >>>>> Fedora release 44 (Forty Four) >>>>> >>>>>> >>>>>> Also, could you please report output of those commands: >>>>>> $ podman --version >>>>> >>>>> ~> podman --version >>>>> podman version 5.8.4 >>>>> >>>>>> $ ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c >>>>> >>>>> ~> ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c >>>>> -rw-r--r--. 1 jsnow jsnow 229 May 7 2025 >>>>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c >>>>> >>>>>> $ /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ >>>>>> run --run-as-current-user -w /home/jsnow/src/qemu/build -v \ >>>>>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \ >>>>>> touch -v new_file && ls -al new_file >>>>> >>>>> There's no "-v" option for touch, but: >>>>> >>>> >>>> Copy-paste mistake sorry, thanks for fixing command. >>>> >>>>> ~> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ >>>>> run >>>>> --run-as-current-user -w /home/jsnow/src/qemu/build -v \ >>>>> >>>>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \ >>>>> >>>>> touch new_file && ls -al new_file >>>>> touch: cannot touch 'new_file': Permission denied >>>>> Traceback (most recent call last): >>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657, >>>>> in <module> >>>>> sys.exit(main()) >>>>> ~~~~^^ >>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main >>>>> return args.cmdobj.run(args, argv) >>>>> ~~~~~~~~~~~~~~~^^^^^^^^^^^^ >>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run >>>>> return Docker(args.command).run(argv, args.keep, quiet=args.quiet, >>>>> ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>> as_user=args.run_as_current_user) >>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run >>>>> ret = self._do_check(["run", "--rm", "--label", >>>>> "com.qemu.instance.uuid=" + label] + cmd, >>>>> quiet=quiet) >>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230, >>>>> in _do_check >>>>> return subprocess.check_call(self._command + cmd, **kwargs) >>>>> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>> File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call >>>>> raise CalledProcessError(retcode, cmd) >>>>> subprocess.CalledProcessError: Command '['podman', 'run', '--rm', >>>>> '--label', 'com.qemu.instance.uuid=d2faaf6ef4914d83b429069b4497cbb2', >>>>> '--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build', >>>>> '-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu', >>>>> 'debian-amd64-cross', 'touch', 'new_file']' returned non-zero exit >>>>> status 1. >>>>> filter=--filter=label=com.qemu.instance.uuid=d2faaf6ef4914d83b429069b4497cbb2 >>>>> >>>> >>>> What is the content of your /etc/subuid? >>>> >>>> Giving your user id (21266), I guess you have a LDAP account or >>>> something similar: not a local account. >>>> I had the same issue on my corporate VM, and had to add an explicit >>>> mapping for my user. >>>> >>>> You should have something like: >>>> >>>> $ cat /etc/subuid >>>> jsnow:100000:65536 >>>> $ cat /etc/subgid >>>> jsnow:100000:65536 >>> >>> I updated my entries to this; I am still having problems so I assume I >>> need to refresh my login or restart or some such thing. Will have to >>> try that a little bit later :) >>> >>> Do you think it's possible to add a simple "hello world" example that >>> tries to touch a source file to determine if permissions are >>> appropriately set up, and if not, gives a nice human-readable error >>> message? (Along with advice to try --disable-containers as a >>> fallback.) >>> >> >> It could be possible to add something to docker.py probe directly. >> However, it would be good to know why there is an issue on your setup at >> the moment, just to rule out another obvious error. >> > > Would that be possible to try a shared mount (:z)? > > /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ > run --run-as-current-user -w /home/jsnow/src/qemu/build -v \ > /home/jsnow/src/qemu:/home/jsnow/src/qemu:z debian-amd64-cross \ > touch -v new_file && ls -al new_file > > If it works, that's related to SELinux blocking such access by default. > And we can add the flag inconditionally. > I installed fedora and could reproduce the issue. SELinux is enabled by default, to the opposite of debian. The right fix is not :z (not enough with podman), but to use --security-opt label=disable, which works with docker and podman. I'll send a patch today so Alex can include it in his PR tomorrow. Regards, Pierrick
On 9/17/2026 12:27 PM, Pierrick Bouvier wrote: > On 9/15/2026 1:10 PM, Pierrick Bouvier wrote: >> On 9/15/2026 1:04 PM, Pierrick Bouvier wrote: >>> On 9/15/2026 12:22 PM, John Snow wrote: >>>> On Tue, Sep 15, 2026 at 3:07 PM Pierrick Bouvier >>>> <pierrick.bouvier@oss.qualcomm.com> wrote: >>>>> >>>>> On 9/15/2026 11:26 AM, John Snow wrote: >>>>>> On Tue, Sep 15, 2026 at 1:17 PM Pierrick Bouvier >>>>>> <pierrick.bouvier@oss.qualcomm.com> wrote: >>>>>>> >>>>>>> On 9/15/2026 9:52 AM, John Snow wrote: >>>>>>>> On Fri, Sep 4, 2026 at 2:04 PM Peter Maydell <peter.maydell@linaro.org> wrote: >>>>>>>>> >>>>>>>>> On Fri, 4 Sept 2026 at 16:08, Alex Bennée <alex.bennee@linaro.org> wrote: >>>>>>>>>> >>>>>>>>>> The following changes since commit d2843fbf80260e4346c856819e8cea11768c9d0e: >>>>>>>>>> >>>>>>>>>> Merge tag 'pull-riscv-to-apply-20260904' of https://github.com/alistair23/qemu into staging (2026-09-04 09:43:27 +0100) >>>>>>>>>> >>>>>>>>>> are available in the Git repository at: >>>>>>>>>> >>>>>>>>>> https://gitlab.com/stsquad/qemu.git tags/pull-11.1-check-tcg-meson-040926-2 >>>>>>>>>> >>>>>>>>>> for you to fetch changes up to 7a485176838e6b6044e73f925d308bb4b3002597: >>>>>>>>>> >>>>>>>>>> MAINTAINERS: add maintainer for tcg/tests meson infrastructure (2026-09-04 16:06:22 +0100) >>>>>>>>>> >>>>>>>>>> ---------------------------------------------------------------- >>>>>>>>>> tests/tcg: conversion to meson >>>>>>>>>> >>>>>>>>>> - remove unused variable from multiarch/memory >>>>>>>>>> - standardise checking plugin output >>>>>>>>>> - bump minimal meson to 1.6.0 >>>>>>>>>> - introduce meson plumbing for check-tcg >>>>>>>>>> - return error code if docker probe fails >>>>>>>>>> - add CI/self/mem test to gdbstub prot-none tests >>>>>>>>>> - use raw opcode for fprcvt test in arm >>>>>>>>>> - remove unused variables from gpc-test >>>>>>>>>> - teach probe-gdb-support about mips >>>>>>>>>> - identify or1k pc register >>>>>>>>>> - port check-tcg logic to meson (all targets) >>>>>>>>>> - update documentation >>>>>>>>>> - add Pierrick as a maintainer for tests/tcg >>>>>>>> >>>>>>>> Hi, I'm having difficulties building after this PR, after eb7f0c14 in >>>>>>>> particular. >>>>>>>> >>>>>>>> I keep seeing stuff like this: >>>>>>>> >>>>>>>> FAILED: [code=1] tests/tcg/x86_64-softmmu-hello.test >>>>>>>> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman >>>>>>>> run --run-as-current-user -w /home/jsnow/src/qemu/build -v >>>>>>>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross >>>>>>>> x86_64-linux-gnu-gcc >>>>>>>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c -o >>>>>>>> tests/tcg/x86_64-softmmu-hello.test -static -MMD -MF >>>>>>>> tests/tcg/x86_64-softmmu-hello.d -Wall -Werror -O0 -g >>>>>>>> -fno-strict-aliasing -nostdlib -ffreestanding -Wa,--noexecstack -I >>>>>>>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib >>>>>>>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c >>>>>>>> ../tests/tcg/x86_64/system/boot.S -Wl,-T >>>>>>>> ../tests/tcg/x86_64/system/kernel.ld -Wl,-melf_x86_64 >>>>>>>> -Wl,--no-warn-rwx-segments -Wl,--build-id=none -lgcc >>>>>>>> cc1: fatal error: >>>>>>>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c: Permission >>>>>>>> denied >>>>>>>> compilation terminated. >>>>>>>> cc1: fatal error: >>>>>>>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c: >>>>>>>> Permission denied >>>>>>>> compilation terminated. >>>>>>>> cc1: fatal error: ../tests/tcg/x86_64/system/boot.S: Permission denied >>>>>>>> compilation terminated. >>>>>>>> Traceback (most recent call last): >>>>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657, >>>>>>>> in <module> >>>>>>>> sys.exit(main()) >>>>>>>> ~~~~^^ >>>>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main >>>>>>>> return args.cmdobj.run(args, argv) >>>>>>>> ~~~~~~~~~~~~~~~^^^^^^^^^^^^ >>>>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run >>>>>>>> return Docker(args.command).run(argv, args.keep, quiet=args.quiet, >>>>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>>>> as_user=args.run_as_current_user) >>>>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run >>>>>>>> ret = self._do_check(["run", "--rm", "--label", >>>>>>>> "com.qemu.instance.uuid=" + label] + cmd, >>>>>>>> quiet=quiet) >>>>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230, >>>>>>>> in _do_check >>>>>>>> return subprocess.check_call(self._command + cmd, **kwargs) >>>>>>>> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>>>> File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call >>>>>>>> raise CalledProcessError(retcode, cmd) >>>>>>>> subprocess.CalledProcessError: Command '['podman', 'run', '--rm', >>>>>>>> '--label', 'com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9', >>>>>>>> '--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build', >>>>>>>> '-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu', >>>>>>>> 'debian-amd64-cross', 'x86_64-linux-gnu-gcc', >>>>>>>> '/home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c', '-o', >>>>>>>> 'tests/tcg/x86_64-softmmu-hello.test', '-static', '-MMD', '-MF', >>>>>>>> 'tests/tcg/x86_64-softmmu-hello.d', '-Wall', '-Werror', '-O0', '-g', >>>>>>>> '-fno-strict-aliasing', '-nostdlib', '-ffreestanding', >>>>>>>> '-Wa,--noexecstack', '-I', >>>>>>>> '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib', >>>>>>>> '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c', >>>>>>>> '../tests/tcg/x86_64/system/boot.S', '-Wl,-T', >>>>>>>> '../tests/tcg/x86_64/system/kernel.ld', '-Wl,-melf_x86_64', >>>>>>>> '-Wl,--no-warn-rwx-segments', '-Wl,--build-id=none', '-lgcc']' >>>>>>>> returned non-zero exit status 1. >>>>>>>> filter=--filter=label=com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9 >>>>>>>> ninja: build stopped: subcommand failed. >>>>>>>> make: *** [Makefile:170: run-ninja] Error 1 >>>>>>>> >>>>>>> >>>>>>> Interesting, it seems to be an issue with podman user mapping. >>>>>> >>>>>> Maybe something I set up ages ago and promptly forgot about? I haven't >>>>>> fussed with user mapping permissions in several aeons, it's possible I >>>>>> have something stale in some config somewhere ... >>>>>> >>>>>>> >>>>>>> Which distro you use (especially which version)? >>>>>> >>>>>> ~> cat /etc/fedora-release >>>>>> Fedora release 44 (Forty Four) >>>>>> >>>>>>> >>>>>>> Also, could you please report output of those commands: >>>>>>> $ podman --version >>>>>> >>>>>> ~> podman --version >>>>>> podman version 5.8.4 >>>>>> >>>>>>> $ ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c >>>>>> >>>>>> ~> ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c >>>>>> -rw-r--r--. 1 jsnow jsnow 229 May 7 2025 >>>>>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c >>>>>> >>>>>>> $ /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ >>>>>>> run --run-as-current-user -w /home/jsnow/src/qemu/build -v \ >>>>>>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \ >>>>>>> touch -v new_file && ls -al new_file >>>>>> >>>>>> There's no "-v" option for touch, but: >>>>>> >>>>> >>>>> Copy-paste mistake sorry, thanks for fixing command. >>>>> >>>>>> ~> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ >>>>>> run >>>>>> --run-as-current-user -w /home/jsnow/src/qemu/build -v \ >>>>>> >>>>>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \ >>>>>> >>>>>> touch new_file && ls -al new_file >>>>>> touch: cannot touch 'new_file': Permission denied >>>>>> Traceback (most recent call last): >>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657, >>>>>> in <module> >>>>>> sys.exit(main()) >>>>>> ~~~~^^ >>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main >>>>>> return args.cmdobj.run(args, argv) >>>>>> ~~~~~~~~~~~~~~~^^^^^^^^^^^^ >>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run >>>>>> return Docker(args.command).run(argv, args.keep, quiet=args.quiet, >>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> as_user=args.run_as_current_user) >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run >>>>>> ret = self._do_check(["run", "--rm", "--label", >>>>>> "com.qemu.instance.uuid=" + label] + cmd, >>>>>> quiet=quiet) >>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230, >>>>>> in _do_check >>>>>> return subprocess.check_call(self._command + cmd, **kwargs) >>>>>> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call >>>>>> raise CalledProcessError(retcode, cmd) >>>>>> subprocess.CalledProcessError: Command '['podman', 'run', '--rm', >>>>>> '--label', 'com.qemu.instance.uuid=d2faaf6ef4914d83b429069b4497cbb2', >>>>>> '--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build', >>>>>> '-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu', >>>>>> 'debian-amd64-cross', 'touch', 'new_file']' returned non-zero exit >>>>>> status 1. >>>>>> filter=--filter=label=com.qemu.instance.uuid=d2faaf6ef4914d83b429069b4497cbb2 >>>>>> >>>>> >>>>> What is the content of your /etc/subuid? >>>>> >>>>> Giving your user id (21266), I guess you have a LDAP account or >>>>> something similar: not a local account. >>>>> I had the same issue on my corporate VM, and had to add an explicit >>>>> mapping for my user. >>>>> >>>>> You should have something like: >>>>> >>>>> $ cat /etc/subuid >>>>> jsnow:100000:65536 >>>>> $ cat /etc/subgid >>>>> jsnow:100000:65536 >>>> >>>> I updated my entries to this; I am still having problems so I assume I >>>> need to refresh my login or restart or some such thing. Will have to >>>> try that a little bit later :) >>>> >>>> Do you think it's possible to add a simple "hello world" example that >>>> tries to touch a source file to determine if permissions are >>>> appropriately set up, and if not, gives a nice human-readable error >>>> message? (Along with advice to try --disable-containers as a >>>> fallback.) >>>> >>> >>> It could be possible to add something to docker.py probe directly. >>> However, it would be good to know why there is an issue on your setup at >>> the moment, just to rule out another obvious error. >>> >> >> Would that be possible to try a shared mount (:z)? >> >> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ >> run --run-as-current-user -w /home/jsnow/src/qemu/build -v \ >> /home/jsnow/src/qemu:/home/jsnow/src/qemu:z debian-amd64-cross \ >> touch -v new_file && ls -al new_file >> >> If it works, that's related to SELinux blocking such access by default. >> And we can add the flag inconditionally. >> > > I installed fedora and could reproduce the issue. SELinux is enabled by > default, to the opposite of debian. > > The right fix is not :z (not enough with podman), but to use > --security-opt label=disable, which works with docker and podman. > > I'll send a patch today so Alex can include it in his PR tomorrow. > Sent: https://lore.kernel.org/qemu-devel/20260917221117.274619-2-pierrick.bouvier@oss.qualcomm.com/T/# > Regards, > Pierrick
On Thu, Sep 17, 2026 at 6:12 PM Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> wrote: > > On 9/17/2026 12:27 PM, Pierrick Bouvier wrote: > > On 9/15/2026 1:10 PM, Pierrick Bouvier wrote: > >> On 9/15/2026 1:04 PM, Pierrick Bouvier wrote: > >>> On 9/15/2026 12:22 PM, John Snow wrote: > >>>> On Tue, Sep 15, 2026 at 3:07 PM Pierrick Bouvier > >>>> <pierrick.bouvier@oss.qualcomm.com> wrote: > >>>>> > >>>>> On 9/15/2026 11:26 AM, John Snow wrote: > >>>>>> On Tue, Sep 15, 2026 at 1:17 PM Pierrick Bouvier > >>>>>> <pierrick.bouvier@oss.qualcomm.com> wrote: > >>>>>>> > >>>>>>> On 9/15/2026 9:52 AM, John Snow wrote: > >>>>>>>> On Fri, Sep 4, 2026 at 2:04 PM Peter Maydell <peter.maydell@linaro.org> wrote: > >>>>>>>>> > >>>>>>>>> On Fri, 4 Sept 2026 at 16:08, Alex Bennée <alex.bennee@linaro.org> wrote: > >>>>>>>>>> > >>>>>>>>>> The following changes since commit d2843fbf80260e4346c856819e8cea11768c9d0e: > >>>>>>>>>> > >>>>>>>>>> Merge tag 'pull-riscv-to-apply-20260904' of https://github.com/alistair23/qemu into staging (2026-09-04 09:43:27 +0100) > >>>>>>>>>> > >>>>>>>>>> are available in the Git repository at: > >>>>>>>>>> > >>>>>>>>>> https://gitlab.com/stsquad/qemu.git tags/pull-11.1-check-tcg-meson-040926-2 > >>>>>>>>>> > >>>>>>>>>> for you to fetch changes up to 7a485176838e6b6044e73f925d308bb4b3002597: > >>>>>>>>>> > >>>>>>>>>> MAINTAINERS: add maintainer for tcg/tests meson infrastructure (2026-09-04 16:06:22 +0100) > >>>>>>>>>> > >>>>>>>>>> ---------------------------------------------------------------- > >>>>>>>>>> tests/tcg: conversion to meson > >>>>>>>>>> > >>>>>>>>>> - remove unused variable from multiarch/memory > >>>>>>>>>> - standardise checking plugin output > >>>>>>>>>> - bump minimal meson to 1.6.0 > >>>>>>>>>> - introduce meson plumbing for check-tcg > >>>>>>>>>> - return error code if docker probe fails > >>>>>>>>>> - add CI/self/mem test to gdbstub prot-none tests > >>>>>>>>>> - use raw opcode for fprcvt test in arm > >>>>>>>>>> - remove unused variables from gpc-test > >>>>>>>>>> - teach probe-gdb-support about mips > >>>>>>>>>> - identify or1k pc register > >>>>>>>>>> - port check-tcg logic to meson (all targets) > >>>>>>>>>> - update documentation > >>>>>>>>>> - add Pierrick as a maintainer for tests/tcg > >>>>>>>> > >>>>>>>> Hi, I'm having difficulties building after this PR, after eb7f0c14 in > >>>>>>>> particular. > >>>>>>>> > >>>>>>>> I keep seeing stuff like this: > >>>>>>>> > >>>>>>>> FAILED: [code=1] tests/tcg/x86_64-softmmu-hello.test > >>>>>>>> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman > >>>>>>>> run --run-as-current-user -w /home/jsnow/src/qemu/build -v > >>>>>>>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross > >>>>>>>> x86_64-linux-gnu-gcc > >>>>>>>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c -o > >>>>>>>> tests/tcg/x86_64-softmmu-hello.test -static -MMD -MF > >>>>>>>> tests/tcg/x86_64-softmmu-hello.d -Wall -Werror -O0 -g > >>>>>>>> -fno-strict-aliasing -nostdlib -ffreestanding -Wa,--noexecstack -I > >>>>>>>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib > >>>>>>>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c > >>>>>>>> ../tests/tcg/x86_64/system/boot.S -Wl,-T > >>>>>>>> ../tests/tcg/x86_64/system/kernel.ld -Wl,-melf_x86_64 > >>>>>>>> -Wl,--no-warn-rwx-segments -Wl,--build-id=none -lgcc > >>>>>>>> cc1: fatal error: > >>>>>>>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c: Permission > >>>>>>>> denied > >>>>>>>> compilation terminated. > >>>>>>>> cc1: fatal error: > >>>>>>>> /home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c: > >>>>>>>> Permission denied > >>>>>>>> compilation terminated. > >>>>>>>> cc1: fatal error: ../tests/tcg/x86_64/system/boot.S: Permission denied > >>>>>>>> compilation terminated. > >>>>>>>> Traceback (most recent call last): > >>>>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657, > >>>>>>>> in <module> > >>>>>>>> sys.exit(main()) > >>>>>>>> ~~~~^^ > >>>>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main > >>>>>>>> return args.cmdobj.run(args, argv) > >>>>>>>> ~~~~~~~~~~~~~~~^^^^^^^^^^^^ > >>>>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run > >>>>>>>> return Docker(args.command).run(argv, args.keep, quiet=args.quiet, > >>>>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>>>>>>> as_user=args.run_as_current_user) > >>>>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>>>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run > >>>>>>>> ret = self._do_check(["run", "--rm", "--label", > >>>>>>>> "com.qemu.instance.uuid=" + label] + cmd, > >>>>>>>> quiet=quiet) > >>>>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230, > >>>>>>>> in _do_check > >>>>>>>> return subprocess.check_call(self._command + cmd, **kwargs) > >>>>>>>> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>>>>>>> File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call > >>>>>>>> raise CalledProcessError(retcode, cmd) > >>>>>>>> subprocess.CalledProcessError: Command '['podman', 'run', '--rm', > >>>>>>>> '--label', 'com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9', > >>>>>>>> '--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build', > >>>>>>>> '-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu', > >>>>>>>> 'debian-amd64-cross', 'x86_64-linux-gnu-gcc', > >>>>>>>> '/home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c', '-o', > >>>>>>>> 'tests/tcg/x86_64-softmmu-hello.test', '-static', '-MMD', '-MF', > >>>>>>>> 'tests/tcg/x86_64-softmmu-hello.d', '-Wall', '-Werror', '-O0', '-g', > >>>>>>>> '-fno-strict-aliasing', '-nostdlib', '-ffreestanding', > >>>>>>>> '-Wa,--noexecstack', '-I', > >>>>>>>> '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib', > >>>>>>>> '/home/jsnow/src/qemu/tests/tcg/x86_64/system/../../minilib/printf.c', > >>>>>>>> '../tests/tcg/x86_64/system/boot.S', '-Wl,-T', > >>>>>>>> '../tests/tcg/x86_64/system/kernel.ld', '-Wl,-melf_x86_64', > >>>>>>>> '-Wl,--no-warn-rwx-segments', '-Wl,--build-id=none', '-lgcc']' > >>>>>>>> returned non-zero exit status 1. > >>>>>>>> filter=--filter=label=com.qemu.instance.uuid=0df29d1fcdc947f1b0cde41104eebed9 > >>>>>>>> ninja: build stopped: subcommand failed. > >>>>>>>> make: *** [Makefile:170: run-ninja] Error 1 > >>>>>>>> > >>>>>>> > >>>>>>> Interesting, it seems to be an issue with podman user mapping. > >>>>>> > >>>>>> Maybe something I set up ages ago and promptly forgot about? I haven't > >>>>>> fussed with user mapping permissions in several aeons, it's possible I > >>>>>> have something stale in some config somewhere ... > >>>>>> > >>>>>>> > >>>>>>> Which distro you use (especially which version)? > >>>>>> > >>>>>> ~> cat /etc/fedora-release > >>>>>> Fedora release 44 (Forty Four) > >>>>>> > >>>>>>> > >>>>>>> Also, could you please report output of those commands: > >>>>>>> $ podman --version > >>>>>> > >>>>>> ~> podman --version > >>>>>> podman version 5.8.4 > >>>>>> > >>>>>>> $ ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c > >>>>>> > >>>>>> ~> ls -al /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c > >>>>>> -rw-r--r--. 1 jsnow jsnow 229 May 7 2025 > >>>>>> /home/jsnow/src/qemu/tests/tcg/multiarch/system/hello.c > >>>>>> > >>>>>>> $ /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ > >>>>>>> run --run-as-current-user -w /home/jsnow/src/qemu/build -v \ > >>>>>>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \ > >>>>>>> touch -v new_file && ls -al new_file > >>>>>> > >>>>>> There's no "-v" option for touch, but: > >>>>>> > >>>>> > >>>>> Copy-paste mistake sorry, thanks for fixing command. > >>>>> > >>>>>> ~> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ > >>>>>> run > >>>>>> --run-as-current-user -w /home/jsnow/src/qemu/build -v \ > >>>>>> > >>>>>> /home/jsnow/src/qemu:/home/jsnow/src/qemu debian-amd64-cross \ > >>>>>> > >>>>>> touch new_file && ls -al new_file > >>>>>> touch: cannot touch 'new_file': Permission denied > >>>>>> Traceback (most recent call last): > >>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 657, > >>>>>> in <module> > >>>>>> sys.exit(main()) > >>>>>> ~~~~^^ > >>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 653, in main > >>>>>> return args.cmdobj.run(args, argv) > >>>>>> ~~~~~~~~~~~~~~~^^^^^^^^^^^^ > >>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 395, in run > >>>>>> return Docker(args.command).run(argv, args.keep, quiet=args.quiet, > >>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>>>>> as_user=args.run_as_current_user) > >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 353, in run > >>>>>> ret = self._do_check(["run", "--rm", "--label", > >>>>>> "com.qemu.instance.uuid=" + label] + cmd, > >>>>>> quiet=quiet) > >>>>>> File "/home/jsnow/src/qemu/tests/tcg/../docker/docker.py", line 230, > >>>>>> in _do_check > >>>>>> return subprocess.check_call(self._command + cmd, **kwargs) > >>>>>> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>>>>> File "/usr/lib64/python3.14/subprocess.py", line 420, in check_call > >>>>>> raise CalledProcessError(retcode, cmd) > >>>>>> subprocess.CalledProcessError: Command '['podman', 'run', '--rm', > >>>>>> '--label', 'com.qemu.instance.uuid=d2faaf6ef4914d83b429069b4497cbb2', > >>>>>> '--userns=keep-id', '-u', '21266', '-w', '/home/jsnow/src/qemu/build', > >>>>>> '-v', '/home/jsnow/src/qemu:/home/jsnow/src/qemu', > >>>>>> 'debian-amd64-cross', 'touch', 'new_file']' returned non-zero exit > >>>>>> status 1. > >>>>>> filter=--filter=label=com.qemu.instance.uuid=d2faaf6ef4914d83b429069b4497cbb2 > >>>>>> > >>>>> > >>>>> What is the content of your /etc/subuid? > >>>>> > >>>>> Giving your user id (21266), I guess you have a LDAP account or > >>>>> something similar: not a local account. > >>>>> I had the same issue on my corporate VM, and had to add an explicit > >>>>> mapping for my user. > >>>>> > >>>>> You should have something like: > >>>>> > >>>>> $ cat /etc/subuid > >>>>> jsnow:100000:65536 > >>>>> $ cat /etc/subgid > >>>>> jsnow:100000:65536 > >>>> > >>>> I updated my entries to this; I am still having problems so I assume I > >>>> need to refresh my login or restart or some such thing. Will have to > >>>> try that a little bit later :) > >>>> > >>>> Do you think it's possible to add a simple "hello world" example that > >>>> tries to touch a source file to determine if permissions are > >>>> appropriately set up, and if not, gives a nice human-readable error > >>>> message? (Along with advice to try --disable-containers as a > >>>> fallback.) > >>>> > >>> > >>> It could be possible to add something to docker.py probe directly. > >>> However, it would be good to know why there is an issue on your setup at > >>> the moment, just to rule out another obvious error. > >>> > >> > >> Would that be possible to try a shared mount (:z)? > >> > >> /home/jsnow/src/qemu/tests/tcg/../docker/docker.py --command podman \ > >> run --run-as-current-user -w /home/jsnow/src/qemu/build -v \ > >> /home/jsnow/src/qemu:/home/jsnow/src/qemu:z debian-amd64-cross \ > >> touch -v new_file && ls -al new_file > >> > >> If it works, that's related to SELinux blocking such access by default. > >> And we can add the flag inconditionally. > >> > > > > I installed fedora and could reproduce the issue. SELinux is enabled by > > default, to the opposite of debian. > > > > The right fix is not :z (not enough with podman), but to use > > --security-opt label=disable, which works with docker and podman. > > > > I'll send a patch today so Alex can include it in his PR tomorrow. > > > > Sent: > https://lore.kernel.org/qemu-devel/20260917221117.274619-2-pierrick.bouvier@oss.qualcomm.com/T/# > Thanks, you're the best! (Testing shortly, will respond on that series.) --js
© 2016 - 2026 Red Hat, Inc.