qemu-trivial
[Top][All Lists]
Advanced

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

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


From: Michael S. Tsirkin
Subject: Re: [Qemu-trivial] [PATCH 00/12] Avoid shifting left into sign bit
Date: Tue, 11 Mar 2014 00:00:35 +0200

On Mon, Mar 10, 2014 at 07:10:36PM +0000, Peter Maydell wrote:
> 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.

I'm fine with this for pci and pc bits.

> 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]