On 7/12/21 11:59 AM, Richard Henderson wrote:
The first two patches are not strictly required, but they
were useful in tracking down the root problem here.
I understand the logic behind the clang-12 warning, but I think
it's a clear mistake that it should be enabled by default for a
target where alignment is not enforced by default.
I found over a dozen places where we would have to manually add
QEMU_ALIGNED(8) to uint64_t declarations in order to suppress
all of the instances. IMO there's no point fighting this.
I tested your patches, they seem to get rid of the warnings. The errors
persist.
FWIW here's my reproduce starting from fedora 34 x86_64 host:
$ sudo mock --root fedora-35-i386 --install dnf --install dnf-utils
--install fedora-packager --install clang
$ sudo mock --root fedora-35-i386 --shell --enable-network
# dnf builddep -y qemu
# git clone https://github.com/qemu/qemu
# cd qemu
# CC=clang CXX=clang++ ./configure --disable-werror
# make V=1