[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/4] pc-bios/s390-ccw: Silence GCC 11 stringop-overflow warni
From: |
Cornelia Huck |
Subject: |
Re: [PATCH 3/4] pc-bios/s390-ccw: Silence GCC 11 stringop-overflow warning |
Date: |
Mon, 3 May 2021 11:00:00 +0200 |
On Sun, 2 May 2021 19:48:35 +0200
Thomas Huth <thuth@redhat.com> wrote:
> From: Philippe Mathieu-Daudé <philmd@redhat.com>
>
> When building on Fedora 34 (gcc version 11.0.0 20210210) we get:
>
> In file included from pc-bios/s390-ccw/main.c:11:
> In function ‘memset’,
> inlined from ‘boot_setup’ at pc-bios/s390-ccw/main.c:185:5,
> inlined from ‘main’ at pc-bios/s390-ccw/main.c:288:5:
> pc-bios/s390-ccw/libc.h:28:14: warning: writing 1 byte into a region of
> size 0 [-Wstringop-overflow=]
> 28 | p[i] = c;
> | ~~~~~^~~
>
> The offending code is:
>
> memset((char *)S390EP, 0, 6);
>
> where S390EP is a const address:
>
> #define S390EP 0x10008
>
> The compiler doesn't now how big that pointed area is, so assume its
s/now/know/
s/assume/it assumes that/
> length is zero. This has been reported as BZ#99578 to GCC:
> "gcc-11 -Warray-bounds or -Wstringop-overread warning when accessing a
> pointer from integer literal"
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578
>
> As this warning does us more harm than good in the BIOS code (where
> lot of direct accesses to low memory are done), silence this warning
> for all BIOS objects.
>
> Suggested-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Message-Id: <20210422145911.2513980-1-philmd@redhat.com>
> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
> [thuth: Use the pre-existing cc-option macro instead of adding a new one]
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> pc-bios/s390-ccw/Makefile | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile
> index f0fe84c9eb..83fb1afb73 100644
> --- a/pc-bios/s390-ccw/Makefile
> +++ b/pc-bios/s390-ccw/Makefile
> @@ -30,6 +30,7 @@ OBJECTS = start.o main.o bootmap.o jump2ipl.o sclp.o menu.o
> \
> virtio.o virtio-scsi.o virtio-blkdev.o libc.o cio.o dasd-ipl.o
>
> QEMU_CFLAGS := -Wall $(filter -W%, $(QEMU_CFLAGS))
> +QEMU_CFLAGS += $(call cc-option,-Werror
> $(QEMU_CFLAGS),-Wno-stringop-overflow)
> QEMU_CFLAGS += -ffreestanding -fno-delete-null-pointer-checks -fno-common
> -fPIE
> QEMU_CFLAGS += -fwrapv -fno-strict-aliasing -fno-asynchronous-unwind-tables
> QEMU_CFLAGS += $(call cc-option, $(QEMU_CFLAGS), -fno-stack-protector)
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, (continued)
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, David Hildenbrand, 2021/05/03
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Markus Armbruster, 2021/05/03
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Cornelia Huck, 2021/05/03
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, David Hildenbrand, 2021/05/03
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Cornelia Huck, 2021/05/03
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Thomas Huth, 2021/05/03
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Cornelia Huck, 2021/05/03
- Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Christian Borntraeger, 2021/05/03
Re: [PATCH 4/4] pc-bios/s390-ccw: Allow building with Clang, too, Cornelia Huck, 2021/05/03
[PATCH 3/4] pc-bios/s390-ccw: Silence GCC 11 stringop-overflow warning, Thomas Huth, 2021/05/02
- Re: [PATCH 3/4] pc-bios/s390-ccw: Silence GCC 11 stringop-overflow warning,
Cornelia Huck <=