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. 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