qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 00/12] Avoid shifting left into sign bit
@ 2014-03-17 16:00 Peter Maydell
  2014-03-17 16:00 ` [Qemu-devel] [PATCH v2 01/12] target-i386: " Peter Maydell
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: Peter Maydell @ 2014-03-17 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-trivial, qemu-ppc, patches

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

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2014-03-20 16:04 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-17 16:00 [Qemu-devel] [PATCH v2 00/12] Avoid shifting left into sign bit Peter Maydell
2014-03-17 16:00 ` [Qemu-devel] [PATCH v2 01/12] target-i386: " Peter Maydell
2014-03-17 16:00 ` [Qemu-devel] [PATCH v2 02/12] hw/intc/apic.c: Use uint32_t for mask word in foreach_apic Peter Maydell
2014-03-17 16:00 ` [Qemu-devel] [PATCH v2 03/12] hw/pci/pci_host.c: Avoid shifting left into sign bit Peter Maydell
2014-03-17 16:00 ` [Qemu-devel] [PATCH v2 04/12] hw/i386/acpi_build.c: " Peter Maydell
2014-03-17 16:00 ` [Qemu-devel] [PATCH v2 05/12] target-mips: " Peter Maydell
2014-03-17 16:00 ` [Qemu-devel] [PATCH v2 06/12] hw/usb/hcd-ohci.c: " Peter Maydell
2014-03-17 16:00 ` [Qemu-devel] [PATCH v2 07/12] hw/intc/openpic: " Peter Maydell
2014-03-17 16:00 ` [Qemu-devel] [PATCH v2 08/12] hw/ppc: " Peter Maydell
2014-03-17 16:00 ` [Qemu-devel] [PATCH v2 09/12] tests/libqos/pci-pc: " Peter Maydell
2014-03-17 16:00 ` [Qemu-devel] [PATCH v2 10/12] hw/intc/slavio_intctl: " Peter Maydell
2014-03-17 16:00 ` [Qemu-devel] [PATCH v2 11/12] hw/intc/xilinx_intc: " Peter Maydell
2014-03-17 16:00 ` [Qemu-devel] [PATCH v2 12/12] hw/pci-host/apb.c: " Peter Maydell
2014-03-20 16:04 ` [Qemu-devel] [Qemu-trivial] [PATCH v2 00/12] " Michael Tokarev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).