[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 00/12] Avoid shifting left into sign bit
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PATCH v2 00/12] Avoid shifting left into sign bit |
Date: |
Mon, 17 Mar 2014 16:00:29 +0000 |
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
- [Qemu-devel] [PATCH v2 00/12] Avoid shifting left into sign bit,
Peter Maydell <=
- [Qemu-devel] [PATCH v2 11/12] hw/intc/xilinx_intc: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 10/12] hw/intc/slavio_intctl: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 08/12] hw/ppc: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 03/12] hw/pci/pci_host.c: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 12/12] hw/pci-host/apb.c: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 02/12] hw/intc/apic.c: Use uint32_t for mask word in foreach_apic, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 09/12] tests/libqos/pci-pc: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 07/12] hw/intc/openpic: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 06/12] hw/usb/hcd-ohci.c: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17
- [Qemu-devel] [PATCH v2 01/12] target-i386: Avoid shifting left into sign bit, Peter Maydell, 2014/03/17