From: "Daniel P. Berrangé" <berrange@redhat.com>
To: "Alex Bennée" <alex.bennee@linaro.org>,
"Paolo Bonzini" <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org,
"Pierrick Bouvier" <pierrick.bouvier@oss.qualcomm.com>,
"Aniket Sahu" <asahu1x@linux.ibm.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: Re: [PULL 101/105] tests/tcg/meson.build: implement ./configure -cross-cc-* options
Date: Mon, 7 Sep 2026 13:55:43 +0100 [thread overview]
Message-ID: <ap60TwXjoICGsvKz@redhat.com> (raw)
In-Reply-To: <20260904124604.2207440-102-alex.bennee@linaro.org>
This commit changes meson_options.txt, but did not refresh the
scripts/meson-buildoptions.sh file, so it is sometimes showing
up dirty when doing a build.
Paolo, I feel like there must be some bug in the logic for triggering
a rebuild of scripts/meson-buildoptions.sh as contributors frequently
miss this change. With the current git HEAD, sometimes when I do a
build it'll refresh the file leaving it dirty, but if I discard all
local changes and do another build, then it doesn't refresh the file.
On Fri, Sep 04, 2026 at 01:45:55PM +0100, Alex Bennée wrote:
> From: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
>
> When a user set explicit cross cc, we ensure it's available and working.
> When a user set explicit cross cflags, we ensure they work with default
> or overriden cross_cc.
>
> Made the first implementation with a single meson option (array), which
> proved to be absolutely unreadable.
> By having one option per target, we directly detect issue at configure
> time, either for user, or when iterating on all our targets. This
> ensures user can't mispell any target name, and that we can't forget any
> new one in the future.
> Also, it shows them in the configuration summary, which is a bonus.
>
> Since we now only need to know compiler to write tcg tests, we can
> simply alias -cross-prefix-* options to compiler override.
>
> Examples
> --------
>
> wrong architecture:
> $ ./configure --cross-cc-bad='cc'
> ../meson.build:1:0: ERROR: Unknown option: "tcg_tests_cross_cc_bad"
>
> wrong option:
> $ ./configure --cross-cc-cflags-aarch64='-bad-option'
> ../tests/tcg/meson.build:228:10: ERROR: Command `/usr/bin/aarch64-linux-gnu-gcc /home/pbouvier/.work/qemu/tests/tcg/test_cc.c -bad-option -static -nostdlib -r -o /dev/null` failed with status 1.
> A full log can be found at /qemu/build/meson-logs/meson-log.txt
>
> cross compile with clang (fails at the moment, since some tests have
> compilation errors with it):
> $ ./configure --target-list=aarch64-linux-user --cross-cc-aarch64='clang' --cross-cc-cflags-aarch64='-target aarch64-linux-gnu'
> User defined options
> ...
> tcg_tests_cross_cc_aarch64 : clang
> tcg_tests_cross_cflags_aarch64 : -target aarch64-linux-gnu
>
> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com>
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
> Message-ID: <20260827221506.91574-102-pierrick.bouvier@oss.qualcomm.com>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> diff --git a/configure b/configure
> index aa98cf39584..1973f023b1e 100755
> --- a/configure
> +++ b/configure
> @@ -227,19 +227,6 @@ for opt do
> ;;
> --extra-ldflags=*) EXTRA_LDFLAGS="$EXTRA_LDFLAGS $optarg"
> ;;
> - --cross-cc-*[!a-zA-Z0-9_-]*=*) error_exit "Passed bad --cross-cc-FOO option"
> - ;;
> - --cross-cc-cflags-*) cc_arch=${opt#--cross-cc-cflags-}; cc_arch=${cc_arch%%=*}
> - eval "cross_cc_cflags_${cc_arch}=\$optarg"
> - ;;
> - --cross-cc-*) cc_arch=${opt#--cross-cc-}; cc_arch=${cc_arch%%=*}
> - eval "cross_cc_${cc_arch}=\$optarg"
> - ;;
> - --cross-prefix-*[!a-zA-Z0-9_-]*=*) error_exit "Passed bad --cross-prefix-FOO option"
> - ;;
> - --cross-prefix-*) cc_arch=${opt#--cross-prefix-}; cc_arch=${cc_arch%%=*}
> - eval "cross_prefix_${cc_arch}=\$optarg"
> - ;;
> --without-default-features) default_feature="no"
> ;;
> --wasm64-32bit-address-limit) wasm64_memory64="2"
> @@ -631,9 +618,19 @@ for opt do
> ;;
> --extra-ldflags=*)
> ;;
> - --cross-cc-*)
> + --cross-cc-*[!a-zA-Z0-9_-]*=*) error_exit "Passed bad --cross-cc-FOO option"
> + ;;
> + --cross-cc-cflags-*) arch=${opt#--cross-cc-cflags-}; arch=${arch%%=*}
> + meson_option_add "-Dtcg_tests_cross_cflags_${arch}=${optarg}"
> + ;;
> + --cross-cc-*) arch=${opt#--cross-cc-}; arch=${arch%%=*}
> + meson_option_add "-Dtcg_tests_cross_cc_${arch}=${optarg}"
> + ;;
> + --cross-prefix-*[!a-zA-Z0-9_-]*=*) error_exit "Passed bad --cross-prefix-FOO option"
> ;;
> - --cross-prefix-*)
> + # cross-prefix is just used as a syntactic sugar for -cross-cc.
> + --cross-prefix-*) arch=${opt#--cross-prefix-}; arch=${arch%%=*}
> + meson_option_add "-Dtcg_tests_cross_cc_${arch}=${optarg}gcc"
> ;;
> --enable-docs) docs=enabled
> ;;
> diff --git a/meson_options.txt b/meson_options.txt
> index f9604a6c192..292625af08a 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -391,3 +391,92 @@ option('containers', type: 'boolean', value: true,
> description: 'use containers to cross compile tcg tests')
> option('container_command', type: 'string',
> description: 'command to build/run containers')
> +
> +option('tcg_tests_cross_cc_aarch64', type: 'string',
> + description: 'cc for aarch64 tcg tests')
> +option('tcg_tests_cross_cflags_aarch64', type: 'string',
> + description: 'cflags for aarch64 tcg tests')
> +option('tcg_tests_cross_cc_aarch64_be', type: 'string',
> + description: 'cc for aarch64_be tcg tests')
> +option('tcg_tests_cross_cflags_aarch64_be', type: 'string',
> + description: 'cflags for aarch64_be tcg tests')
> +option('tcg_tests_cross_cc_alpha', type: 'string',
> + description: 'cc for alpha tcg tests')
> +option('tcg_tests_cross_cflags_alpha', type: 'string',
> + description: 'cflags for alpha tcg tests')
> +option('tcg_tests_cross_cc_arm', type: 'string',
> + description: 'cc for arm tcg tests')
> +option('tcg_tests_cross_cflags_arm', type: 'string',
> + description: 'cflags for arm tcg tests')
> +option('tcg_tests_cross_cc_hexagon', type: 'string',
> + description: 'cc for hexagon tcg tests')
> +option('tcg_tests_cross_cflags_hexagon', type: 'string',
> + description: 'cflags for hexagon tcg tests')
> +option('tcg_tests_cross_cc_hppa', type: 'string',
> + description: 'cc for hppa tcg tests')
> +option('tcg_tests_cross_cflags_hppa', type: 'string',
> + description: 'cflags for hppa tcg tests')
> +option('tcg_tests_cross_cc_i386', type: 'string',
> + description: 'cc for i386 tcg tests')
> +option('tcg_tests_cross_cflags_i386', type: 'string',
> + description: 'cflags for i386 tcg tests')
> +option('tcg_tests_cross_cc_loongarch64', type: 'string',
> + description: 'cc for loongarch64 tcg tests')
> +option('tcg_tests_cross_cflags_loongarch64', type: 'string',
> + description: 'cflags for loongarch64 tcg tests')
> +option('tcg_tests_cross_cc_m68k', type: 'string',
> + description: 'cc for m68k tcg tests')
> +option('tcg_tests_cross_cflags_m68k', type: 'string',
> + description: 'cflags for m68k tcg tests')
> +option('tcg_tests_cross_cc_mips', type: 'string',
> + description: 'cc for mips tcg tests')
> +option('tcg_tests_cross_cflags_mips', type: 'string',
> + description: 'cflags for mips tcg tests')
> +option('tcg_tests_cross_cc_mips64', type: 'string',
> + description: 'cc for mips64 tcg tests')
> +option('tcg_tests_cross_cflags_mips64', type: 'string',
> + description: 'cflags for mips64 tcg tests')
> +option('tcg_tests_cross_cc_mips64el', type: 'string',
> + description: 'cc for mips64el tcg tests')
> +option('tcg_tests_cross_cflags_mips64el', type: 'string',
> + description: 'cflags for mips64el tcg tests')
> +option('tcg_tests_cross_cc_or1k', type: 'string',
> + description: 'cc for or1k tcg tests')
> +option('tcg_tests_cross_cflags_or1k', type: 'string',
> + description: 'cflags for or1k tcg tests')
> +option('tcg_tests_cross_cc_ppc64', type: 'string',
> + description: 'cc for ppc64 tcg tests')
> +option('tcg_tests_cross_cflags_ppc64', type: 'string',
> + description: 'cflags for ppc64 tcg tests')
> +option('tcg_tests_cross_cc_ppc64le', type: 'string',
> + description: 'cc for ppc64le tcg tests')
> +option('tcg_tests_cross_cflags_ppc64le', type: 'string',
> + description: 'cflags for ppc64le tcg tests')
> +option('tcg_tests_cross_cc_riscv64', type: 'string',
> + description: 'cc for riscv64 tcg tests')
> +option('tcg_tests_cross_cflags_riscv64', type: 'string',
> + description: 'cflags for riscv64 tcg tests')
> +option('tcg_tests_cross_cc_s390x', type: 'string',
> + description: 'cc for s390x tcg tests')
> +option('tcg_tests_cross_cflags_s390x', type: 'string',
> + description: 'cflags for s390x tcg tests')
> +option('tcg_tests_cross_cc_sh4', type: 'string',
> + description: 'cc for sh4 tcg tests')
> +option('tcg_tests_cross_cflags_sh4', type: 'string',
> + description: 'cflags for sh4 tcg tests')
> +option('tcg_tests_cross_cc_tricore', type: 'string',
> + description: 'cc for tricore tcg tests')
> +option('tcg_tests_cross_cflags_tricore', type: 'string',
> + description: 'cflags for tricore tcg tests')
> +option('tcg_tests_cross_cc_x86_64', type: 'string',
> + description: 'cc for x86_64 tcg tests')
> +option('tcg_tests_cross_cflags_x86_64', type: 'string',
> + description: 'cflags for x86_64 tcg tests')
> +option('tcg_tests_cross_cc_xtensa', type: 'string',
> + description: 'cc for xtensa tcg tests')
> +option('tcg_tests_cross_cflags_xtensa', type: 'string',
> + description: 'cflags for xtensa tcg tests')
> +option('tcg_tests_cross_cc_xtensaeb', type: 'string',
> + description: 'cc for xtensaeb tcg tests')
> +option('tcg_tests_cross_cflags_xtensaeb', type: 'string',
> + description: 'cflags for xtensaeb tcg tests')
> diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build
> index 2458a231f5f..9cf632d2717 100644
> --- a/tests/tcg/meson.build
> +++ b/tests/tcg/meson.build
> @@ -180,6 +180,8 @@ foreach target, plan: tcg_tests
> continue
> endif
>
> + cc_arch = target.replace('-linux-user', '').replace('-softmmu', '')
> +
> # Detect duplicated executables/tests, and report an error to force user to
> # choose how to deal with it.
> built_tests = {}
> @@ -197,16 +199,35 @@ foreach target, plan: tcg_tests
> endforeach
>
> cc = find_program(plan['cc'], required : false)
> + cc_cflags = []
> +
> + check_flags = []
> + check_required = false
> + cross_cc = get_option('tcg_tests_cross_cc_' + cc_arch)
> + if cross_cc != ''
> + # we make sure cross cc exists
> + cc = find_program(cross_cc, required: true)
> + check_required = true
> + endif
> + cross_cflags = get_option('tcg_tests_cross_cflags_' + cc_arch)
> + if cross_cflags != ''
> + cc_cflags = cross_cflags.split()
> + # and that cross cc can compile programs
> + check_flags = cc_cflags
> + check_required = true
> + endif
> +
> cc_from_system = cc.found()
> has_cc = cc.found()
> if has_cc
> - check_flags = ['-static']
> if target.endswith('softmmu')
> - check_flags = ['-nostdlib', '-ffreestanding', '-r']
> + check_flags += ['-nostdlib', '-ffreestanding', '-r']
> + else
> + check_flags += ['-static']
> endif
>
> cmd = run_command([cc, files('test_cc.c'), check_flags, '-o', '/dev/null'],
> - check: false)
> + check: check_required)
> has_cc = cmd.returncode() == 0
> cc_from_system = has_cc
> endif
> @@ -333,9 +354,9 @@ foreach target, plan: tcg_tests
> endif
> endif
>
> - cflags = []
> + cflags = cc_cflags
> if 'cflags' in setup
> - cflags = setup['cflags']
> + cflags += setup['cflags']
> endif
>
> if 'cc_feat' in setup
> --
> 2.47.3
>
With regards,
Daniel
--
|: https://berrange.com ~~ https://hachyderm.io/@berrange :|
|: https://libvirt.org ~~ https://entangle-photo.org :|
|: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
next prev parent reply other threads:[~2026-09-07 12:56 UTC|newest]
Thread overview: 115+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-04 12:44 [PULL 000/105] move check-tcg into the meson build Alex Bennée
2026-09-04 12:44 ` [PULL 001/105] tests/tcg/multiarch/system/memory.c: remove unused variable Alex Bennée
2026-09-04 12:44 ` [PULL 002/105] tests/tcg/multiarch/plugin/check-plugin-output.sh: take test output as input Alex Bennée
2026-09-04 12:44 ` [PULL 003/105] tests/tcg/multiarch/plugin: rename check-plugin-output to regex-compare Alex Bennée
2026-09-04 12:44 ` [PULL 004/105] meson: bump minimal version to 1.6.0 Alex Bennée
2026-09-04 12:44 ` [PULL 005/105] tests/tcg: introduce meson.build Alex Bennée
2026-09-04 12:44 ` [PULL 006/105] tests/tcg/meson.build: introduce exe_name Alex Bennée
2026-09-04 12:44 ` [PULL 007/105] tests/tcg/meson.build: introduce test_name Alex Bennée
2026-09-04 12:44 ` [PULL 008/105] tests/tcg/meson.build: introduce cflags Alex Bennée
2026-09-04 12:44 ` [PULL 009/105] tests/tcg/meson.build: introduce qemu_args Alex Bennée
2026-09-04 12:44 ` [PULL 010/105] tests/tcg/meson.build: introduce env_var Alex Bennée
2026-09-04 12:44 ` [PULL 011/105] tests/tcg/plugins: build list of test_plugins Alex Bennée
2026-09-04 12:44 ` [PULL 012/105] tests/tcg/meson.build: introduce plugin_test Alex Bennée
2026-09-04 12:44 ` [PULL 013/105] tests/tcg/meson.build: test gdb support and introduce gdb_arch Alex Bennée
2026-09-04 12:44 ` [PULL 014/105] tests/tcg/meson.build: introduce gdb_test Alex Bennée
2026-09-04 12:44 ` [PULL 015/105] tests/tcg/meson.build: introduce wrapper Alex Bennée
2026-09-04 12:44 ` [PULL 016/105] tests/tcg/meson.build: introduce expected_output Alex Bennée
2026-09-04 12:44 ` [PULL 017/105] tests/tcg/meson.build: add wrapper run_and_check_forbidden_output Alex Bennée
2026-09-04 12:44 ` [PULL 018/105] tests/tcg/meson.build: add wrapper run_with_input Alex Bennée
2026-09-04 12:44 ` [PULL 019/105] tests/tcg/meson.build: add wrapper record_replay Alex Bennée
2026-09-04 12:44 ` [PULL 020/105] tests/tcg/meson.build: add wrapper check_plugin_output Alex Bennée
2026-09-04 12:44 ` [PULL 021/105] tests/tcg/meson.build: add logic to skip tests Alex Bennée
2026-09-04 12:44 ` [PULL 022/105] tests/tcg/meson.build: introduce cc_feat and cc_feat_cflags Alex Bennée
2026-09-04 12:44 ` [PULL 023/105] tests/tcg/meson.build: introduce gdb_feat and gdb_feat_version Alex Bennée
2026-09-04 12:44 ` [PULL 024/105] tests/tcg/meson.build: move gdb_arch support check Alex Bennée
2026-09-04 12:44 ` [PULL 025/105] tests/tcg/meson.build: let test infrastructure detect compiler Alex Bennée
2026-09-04 12:44 ` [PULL 026/105] tests/docker/docker.py: return error code if probe fails Alex Bennée
2026-09-04 12:44 ` [PULL 027/105] tests/docker/docker.py: remove "Image is up to date" info Alex Bennée
2026-09-04 12:44 ` [PULL 028/105] tests/tcg/meson.build: introduce cc_dockerfile and cc_docker_host_arch Alex Bennée
2026-09-04 12:44 ` [PULL 029/105] tests/tcg/meson.build: check host cross cc is working Alex Bennée
2026-09-04 12:44 ` [PULL 030/105] tests/tcg/meson.build: introduce depends Alex Bennée
2026-09-04 12:44 ` [PULL 031/105] tests/tcg/meson.build: use full path for QEMU binary Alex Bennée
2026-09-04 12:44 ` [PULL 032/105] tests/tcg/meson.build: add top-level 'tcg-tests' target Alex Bennée
2026-09-04 12:44 ` [PULL 033/105] tests/tcg/Makefile: skip user/system tests if target Makefile is not present Alex Bennée
2026-09-04 12:44 ` [PULL 034/105] tests/tcg/multiarch/gdbstub/prot-none.py: deactivate on gitlab CI Alex Bennée
2026-09-04 12:44 ` [PULL 035/105] tests/tcg/multiarch/gdbstub/prot-none.py: detect if /proc/self/mem can be used to access PROT_NONE pages Alex Bennée
2026-09-04 12:44 ` [PULL 036/105] tests/tcg/multiarch: declare user tests Alex Bennée
2026-09-04 12:44 ` [PULL 037/105] tests/tcg/multiarch: declare system tests Alex Bennée
2026-09-04 12:44 ` [PULL 038/105] tests/tcg/meson.build: add generic plugin tests Alex Bennée
2026-09-04 12:44 ` [PULL 039/105] tests/tcg/arm/fcvt.c: use raw opcode for FPRCVT Alex Bennée
2026-09-04 12:44 ` [PULL 040/105] tests/tcg/aarch64: user tests Alex Bennée
2026-09-04 12:44 ` [PULL 041/105] tests/tcg/aarch64/system/gpc-test.c: remove unused variables Alex Bennée
2026-09-04 12:44 ` [PULL 042/105] tests/tcg/aarch64: system tests Alex Bennée
2026-09-04 12:44 ` [PULL 043/105] tests/tcg/aarch64_be: user tests Alex Bennée
2026-09-04 12:44 ` [PULL 044/105] tests/tcg/alpha: add float reference files Alex Bennée
2026-09-04 12:44 ` [PULL 045/105] tests/tcg/alpha: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 046/105] tests/tcg/alpha: system tests Alex Bennée
2026-09-04 12:45 ` [PULL 047/105] tests/tcg/arm: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 048/105] tests/tcg/arm: system tests Alex Bennée
2026-09-04 12:45 ` [PULL 049/105] tests/tcg/hexagon/overflow.c: add missing include Alex Bennée
2026-09-04 12:45 ` [PULL 050/105] tests/tcg/hexagon: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 051/105] tests/tcg/multiarch/sha1.c: fix big endian implementation Alex Bennée
2026-09-04 12:45 ` [PULL 052/105] tests/tcg/hppa: add float reference files Alex Bennée
2026-09-04 12:45 ` [PULL 053/105] tests/tcg/hppa: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 054/105] tests/tcg/i386: add missing float reference files Alex Bennée
2026-09-04 12:45 ` [PULL 055/105] tests/tcg/i386: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 056/105] tests/tcg/i386: system tests Alex Bennée
2026-09-04 12:45 ` [PULL 057/105] tests/tcg/loongarch64: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 058/105] tests/tcg/loongarch64: system tests Alex Bennée
2026-09-04 12:45 ` [PULL 059/105] tests/tcg/m68k: add float reference files Alex Bennée
2026-09-04 12:45 ` [PULL 060/105] tests/tcg/m68k: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 061/105] scripts/probe-gdb-support.py: add mapping for mips architecture Alex Bennée
2026-09-04 12:45 ` [PULL 062/105] tests/tcg/mips: add float reference files Alex Bennée
2026-09-04 12:45 ` [PULL 063/105] test/tcg/mips: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 064/105] tests/tcg/mips64: add float reference files Alex Bennée
2026-09-04 12:45 ` [PULL 065/105] tests/tcg/mips64: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 066/105] tests/tcg/mips64el: add float reference files Alex Bennée
2026-09-04 12:45 ` [PULL 067/105] tests/tcg/mips64el: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 068/105] tests/docker/dockerfiles/debian-all-test-cross.docker: add or1k toolchain Alex Bennée
2026-09-04 12:45 ` [PULL 069/105] tests/tcg/or1k/test_addic.c: remove unused variables Alex Bennée
2026-09-04 12:45 ` [PULL 070/105] tests/tcg/or1k/test_muli.c: remove set but unused variable Alex Bennée
2026-09-04 12:45 ` [PULL 071/105] tests/tcg/or1k: add float reference files Alex Bennée
2026-09-04 12:45 ` [PULL 072/105] plugins/api.c: identify or1k pc register and mark it as read only Alex Bennée
2026-09-04 12:45 ` [PULL 073/105] tests/tcg/or1k: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 074/105] tests/tcg/ppc64: add float reference files Alex Bennée
2026-09-04 12:45 ` [PULL 075/105] tests/tcg/ppc64: remove dependency on qemu/compiler.h Alex Bennée
2026-09-04 12:45 ` [PULL 076/105] tests/tcg/ppc64: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 077/105] tests/tcg/ppc64le: add missing float reference file Alex Bennée
2026-09-04 12:45 ` [PULL 078/105] tests/tcg/ppc64le: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 079/105] tests/tcg/riscv64: add float reference files Alex Bennée
2026-09-04 12:45 ` [PULL 080/105] tests/tcg/riscv64: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 081/105] tests/tcg/riscv64: system tests Alex Bennée
2026-09-04 12:45 ` [PULL 082/105] tests/tcg/s390x/head64.S: declare _exit symbol after main Alex Bennée
2026-09-04 12:45 ` [PULL 083/105] tests/tcg/s390x: add float reference files Alex Bennée
2026-09-04 12:45 ` [PULL 084/105] tests/tcg/s390x: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 085/105] tests/tcg/s390x/console.c: directly implement memcpy and memset Alex Bennée
2026-09-04 12:45 ` [PULL 086/105] tests/tcg/s390x: system tests Alex Bennée
2026-09-04 12:45 ` [PULL 087/105] tests/tcg/sh4: add float reference files Alex Bennée
2026-09-04 12:45 ` [PULL 088/105] tests/tcg/sh4: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 089/105] tests/tcg/tricore: system tests Alex Bennée
2026-09-04 12:45 ` [PULL 090/105] tests/tcg/x86_64: add missing float reference file Alex Bennée
2026-09-04 12:45 ` [PULL 091/105] tests/tcg/x86_64: user tests Alex Bennée
2026-09-04 12:45 ` [PULL 092/105] tests/tcg/x86_64: system tests Alex Bennée
2026-09-04 12:45 ` [PULL 093/105] tests/tcg/xtensa/crt.S: align .text section Alex Bennée
2026-09-04 12:45 ` [PULL 094/105] tests/docker/dockerfiles/debian-xtensa-cross.docker: add test_kc705_be toolchain for xtensaeb Alex Bennée
2026-09-04 12:45 ` [PULL 095/105] tests/tcg/xtensa: system tests Alex Bennée
2026-09-04 12:45 ` [PULL 096/105] tests/tcg/xtensa: xtensaeb " Alex Bennée
2026-09-04 12:45 ` [PULL 097/105] tests: remove tcg tests machinery Alex Bennée
2026-09-04 12:45 ` [PULL 098/105] tests/tcg: remove remaining Makefiles Alex Bennée
2026-09-04 12:45 ` [PULL 099/105] configure: directly pass gdb path as a meson option Alex Bennée
2026-09-04 12:45 ` [PULL 100/105] tests/tcg/meson.build: implement ./configure containers options Alex Bennée
2026-09-04 12:45 ` [PULL 101/105] tests/tcg/meson.build: implement ./configure -cross-cc-* options Alex Bennée
2026-09-07 12:55 ` Daniel P. Berrangé [this message]
2026-09-07 13:26 ` Alex Bennée
2026-09-07 13:46 ` Daniel P. Berrangé
2026-09-04 12:45 ` [PULL 102/105] configure: remove cross_cc and gdb detection logic Alex Bennée
2026-09-11 16:16 ` Eric Farman
2026-09-11 17:48 ` Alex Bennée
2026-09-11 18:22 ` Eric Farman
2026-09-04 12:45 ` [PULL 103/105] meson.build: add summary for TCG tests Alex Bennée
2026-09-04 12:45 ` [PULL 104/105] docs/devel/testing/: update documentation Alex Bennée
2026-09-04 12:45 ` [PULL 105/105] MAINTAINERS: add maintainer for tcg/tests meson infrastructure Alex Bennée
2026-09-04 13:46 ` [PULL 000/105] move check-tcg into the meson build Philippe Mathieu-Daudé
2026-09-04 15:43 ` Alex Bennée
2026-09-04 15:57 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ap60TwXjoICGsvKz@redhat.com \
--to=berrange@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=asahu1x@linux.ibm.com \
--cc=marcandre.lureau@redhat.com \
--cc=pbonzini@redhat.com \
--cc=pierrick.bouvier@oss.qualcomm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.