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. Changes v1->v2: * minor tweak to foreach_apic to merge declaration and initialization of 'mask' * add U suffix to other constants in the same group for consistency, as suggested by mst 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 | 6 +- hw/intc/openpic.c | 14 +- hw/intc/slavio_intctl.c | 2 +- hw/intc/xilinx_intc.c | 3 +- hw/pci-host/apb.c | 10 +- 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 | 24 ++-- hw/ppc/virtex_ml507.c | 4 +- hw/usb/hcd-ohci.c | 32 ++--- target-i386/cpu.h | 334 +++++++++++++++++++++---------------------- 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, 245 insertions(+), 243 deletions(-) -- 1.9.0