From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36747) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WN8Fe-0007GZ-Fe for qemu-devel@nongnu.org; Mon, 10 Mar 2014 18:00:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WN8FY-00073r-FD for qemu-devel@nongnu.org; Mon, 10 Mar 2014 18:00:50 -0400 Date: Tue, 11 Mar 2014 00:00:35 +0200 From: "Michael S. Tsirkin" Message-ID: <20140310220035.GF7104@redhat.com> References: <1394478649-9453-1-git-send-email-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1394478649-9453-1-git-send-email-peter.maydell@linaro.org> Subject: Re: [Qemu-devel] [PATCH 00/12] Avoid shifting left into sign bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: qemu-trivial@nongnu.org, qemu-ppc@nongnu.org, qemu-devel@nongnu.org, patches@linaro.org 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 >