[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 00/12] Avoid shifting left into sign bit
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PATCH 00/12] Avoid shifting left into sign bit |
Date: |
Mon, 10 Mar 2014 19:10:36 +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.
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
- [Qemu-devel] [PATCH 00/12] Avoid shifting left into sign bit,
Peter Maydell <=
- [Qemu-devel] [PATCH 03/12] hw/pci/pci_host.c: Avoid shifting left into sign bit, Peter Maydell, 2014/03/10
- [Qemu-devel] [PATCH 06/12] hw/usb/hcd-ohci.c: Avoid shifting left into sign bit, Peter Maydell, 2014/03/10
- [Qemu-devel] [PATCH 12/12] hw/pci-host/apb.c: Avoid shifting left into sign bit, Peter Maydell, 2014/03/10
- [Qemu-devel] [PATCH 08/12] hw/ppc: Avoid shifting left into sign bit, Peter Maydell, 2014/03/10
- [Qemu-devel] [PATCH 05/12] target-mips: Avoid shifting left into sign bit, Peter Maydell, 2014/03/10