On Fri, May 29, 2015 at 07:57:16PM +0100, Peter Maydell wrote: > On 29 May 2015 at 19:04, Eduardo Habkost <ehabk...@redhat.com> wrote: > > The following changes since commit 2cc3bdbe2d3908f7a813d1c2d774cc2bf07746cd: > > > > Merge remote-tracking branch 'remotes/armbru/tags/pull-block-2015-05-29' > > into staging (2015-05-29 15:32:15 +0100) > > > > are available in the git repository at: > > > > git://github.com/ehabkost/qemu.git tags/x86-pull-request > > > > for you to fetch changes up to d032544e08ed07c66afd45ca8a8420ca202fab75: > > > > arch_init: Drop target-x86_64.conf (2015-05-29 14:46:32 -0300) > > > > ---------------------------------------------------------------- > > X86 patch queue, 2015-05-29 > > Hi. I'm afraid this patchset provokes a lot of warnings from > clang's undefined-behaviour sanitizer when we run make check: > > /home/petmay01/linaro/qemu-for-merges/hw/intc/apic_common.c:314:55: > runtime error: left shift of 1048575 by 12 places cannot be > represented in type 'int' > > This is because this: > target-i386/cpu.h:#define MSR_IA32_APICBASE_BASE (0xfffff<<12) > > is shifting a 1 into the sign bit of a signed integer. You need > to write 0xfffffU to force an unsigned shift here. > > (The undef sanitizer is one of those things I don't really > expect submaintainers to run but which I have enabled for > my build process. At the moment we're almost clean for a > make check run, so I'm keen to avoid introducing new warnings.)
I will submit a fix and send a new pull request later. Thanks! (I will also add a new build configuration to my setup using clang and -fsanitize=undefined) -- Eduardo