On aarch64, gcc 9.3 is generating qemu/exec.c: In function ‘address_space_translate_iommu’: qemu/exec.c:431:28: note: parameter passing for argument of type \ ‘MemTxAttrs’ {aka ‘struct MemTxAttrs’} changed in GCC 9.1
and many other reptitions. This structure, and the functions amongst which it is passed, are not part of a QEMU public API. Therefore we do not care how the compiler passes the argument, so long as the compiler is self-consistent. Cc: Alex Bennée <alex.ben...@linaro.org> Cc: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> --- TODO: The only portion of QEMU which does have a public api, and so must have a stable abi, is "qemu/plugin.h". We could test this by forcing -Wpsabi or -Werror=psabi in tests/plugin. I can't seem to make that work -- Alex? --- configure | 1 + 1 file changed, 1 insertion(+) diff --git a/configure b/configure index 8b33447048..76d32e0f7b 100755 --- a/configure +++ b/configure @@ -2036,6 +2036,7 @@ add_to nowarn_flags -Wno-shift-negative-value add_to nowarn_flags -Wno-string-plus-int add_to nowarn_flags -Wno-typedef-redefinition add_to nowarn_flags -Wno-tautological-type-limit-compare +add_to nowarn_flags -Wno-psabi gcc_flags="$warn_flags $nowarn_flags" -- 2.25.1