On Mon, Jan 17, 2022 at 12:32:36PM +0100, Jakub Jelinek wrote:
On Sun, Jan 16, 2022 at 05:58:10PM +0000, Richard W.M. Jones wrote:
> I tried recompiling qemu and it fails with an odd error in the RCU
> torture test. Bug submitted upstream here:
>
>
https://gitlab.com/qemu-project/qemu/-/issues/823
>
> ... but since GCC 12 is the only big thing that has changed since we
> just rebuilt qemu, could that be a reason?
>
>
https://gitlab.com/qemu-project/qemu/-/blob/1cd2ad11d37c48f284f557954e1df...
>
> Anyway I'll try to nudge someone on the virt team who knows about
> these things to take a look.
Does -O0 help? -flto vs. -fno-lto? -fno-ipa-modref (gcc 12 is slightly
more aggressive in the interprocedural TBAA)?
If -O0 helps, can you find out if it is the test or something in a library or
whatever that the test uses, and if the latter, try to bisect it to one *.o
file? If -O0 doesn't help, try to mix and match gcc 11 and gcc 12 built
objects. I know next to nothing about qemu, so it would help if somebody
familiar with it did that. Perhaps Paolo Bonzini is familiar with both
qemu and gcc...
Having just one preprocessed source + compiler command line and knowing
roughly what to look for allows bisection and further analysis.
Partially answered here:
https://gitlab.com/qemu-project/qemu/-/issues/823
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages.
http://libguestfs.org