On Mon, Mar 10, 2014 at 07:10:36PM +0000, Peter Maydell wrote: > This is a set of patches which silence clang -fsanitize=undefined > warnings about shifting left into the sign bit of a signed value. > Typically this is the result of "1 << 31" and similar constructs; > the fix is to add a "U" suffix to the 1 so that we do unsigned > arithmetic rather than signed arithmetic. > > Since these patches are very minor changes to a fairly > wide ranging set of files, it seems easiest to send these > through the -trivial queue. Happy to split the series up > if people disagree.
I'm fine with this for pci and pc bits. > Mostly I think these warnings are not particularly exciting > (even the adversarial optimizations preferred by modern > compilers will probably not break "1 << 31") but there are > a lot of them, the fix is pretty trivial, and getting rid of > them allows us to see the interesting sanitizer warnings more > clearly. > > My method here has been just to look at the warnings produced > during a 'make check' run; no doubt actually running a guest > for various platforms would identify more of these. > > thanks > -- PMM > > Peter Maydell (12): > target-i386: Avoid shifting left into sign bit > hw/intc/apic.c: Use uint32_t for mask word in foreach_apic > hw/pci/pci_host.c: Avoid shifting left into sign bit > hw/i386/acpi_build.c: Avoid shifting left into sign bit > target-mips: Avoid shifting left into sign bit > hw/usb/hcd-ohci.c: Avoid shifting left into sign bit > hw/intc/openpic: Avoid shifting left into sign bit > hw/ppc: Avoid shifting left into sign bit > tests/libqos/pci-pc: Avoid shifting left into sign bit > hw/intc/slavio_intctl: Avoid shifting left into sign bit > hw/intc/xilinx_intc: Avoid shifting left into sign bit > hw/pci-host/apb.c: Avoid shifting left into sign bit > > hw/i386/acpi-build.c | 2 +- > hw/intc/apic.c | 5 +++-- > hw/intc/openpic.c | 4 ++-- > hw/intc/slavio_intctl.c | 2 +- > hw/intc/xilinx_intc.c | 3 ++- > hw/pci-host/apb.c | 2 +- > hw/pci/pci_host.c | 3 ++- > hw/ppc/ppc.c | 2 +- > hw/ppc/ppc440_bamboo.c | 4 ++-- > hw/ppc/ppc4xx_devs.c | 2 +- > hw/ppc/ppc_booke.c | 4 ++-- > hw/ppc/virtex_ml507.c | 4 ++-- > hw/usb/hcd-ohci.c | 6 +++--- > target-i386/cpu.h | 8 ++++---- > target-mips/cpu.h | 2 +- > target-mips/helper.c | 8 ++++---- > target-mips/op_helper.c | 2 +- > target-mips/translate_init.c | 22 +++++++++++----------- > tests/libqos/pci-pc.c | 12 ++++++------ > 19 files changed, 50 insertions(+), 47 deletions(-) > > -- > 1.9.0 >