qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-trivial] [PATCH 00/12] Avoid shifting left into sign bit


From: Peter Maydell
Subject: [Qemu-trivial] [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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]