qemu-e2k/pc-bios/s390-ccw
Philippe Mathieu-Daudé da231910d3 pc-bios/s390-ccw: Silence GCC 11 stringop-overflow warning
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 know how big that pointed area is, so it assume that
its 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>
Message-Id: <20210502174836.838816-4-thuth@redhat.com>
[thuth: Use the pre-existing cc-option macro instead of adding a new one]
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2021-05-09 18:47:54 +02:00
..
Makefile pc-bios/s390-ccw: Silence GCC 11 stringop-overflow warning 2021-05-09 18:47:54 +02:00
bootmap.c pc-bios/s390-ccw/bootmap: Silence compiler warning from Clang 2021-05-09 18:14:31 +02:00
bootmap.h pc-bios: s390x: Fix bootmap.c zipl component entry data handling 2020-10-06 19:57:35 +02:00
bswap.h pc-bios/s390-ccw: Move byteswap functions to a separate header 2017-07-14 12:29:48 +02:00
cio.c pc-bios: s390x: cio.c cleanup and compile fix 2020-07-02 09:59:10 +02:00
cio.h pc-bios: s390x: Get rid of magic offsets into the lowcore 2020-07-02 09:59:51 +02:00
dasd-ipl.c pc-bios: s390x: Ensure Read IPL memory is clean 2020-11-23 09:48:44 +01:00
dasd-ipl.h s390-bios: Support booting from real dasd device 2019-04-12 12:40:35 +02:00
helper.h pc-bios: s390x: Make u32 ptr check explicit 2020-07-02 10:00:42 +02:00
iplb.h pc-bios/s390-ccw: define loadparm length 2018-06-18 15:08:44 +02:00
jump2ipl.c pc-bios/s390-ccw: Use reset_psw pointer instead of hard-coded null pointer 2021-05-09 18:14:31 +02:00
libc.c pc-bios/s390-ccw: Clean up harmless misuse of isdigit() 2019-05-08 10:52:14 +02:00
libc.h s390-bios: cio error handling 2019-04-12 12:40:35 +02:00
main.c pc-bios: s390x: Clear out leftover S390EP string 2020-11-23 09:48:45 +01:00
menu.c pc-bios: s390x: Consolidate timing functions into time.h 2020-07-02 09:59:24 +02:00
netboot.mak pc-bios/s390-ccw/netboot: Use "-Wl," prefix to pass parameter to the linker 2021-05-09 18:14:31 +02:00
netmain.c pc-bios: s390x: Move panic() into header and add infinite loop 2020-07-02 10:00:42 +02:00
s390-arch.h pc-bios: s390x: Clear out leftover S390EP string 2020-11-23 09:48:45 +01:00
s390-ccw.h pc-bios/s390-ccw: Silence warning from Clang by marking panic() as noreturn 2021-05-09 18:19:43 +02:00
s390-time.h pc-bios: s390x: Consolidate timing functions into time.h 2020-07-02 09:59:24 +02:00
sclp.c pc-bios/s390-ccw: fix sclp_get_loadparm_ascii 2019-11-29 09:16:02 +01:00
sclp.h misc: Replace zero-length arrays with flexible array member (automatic) 2020-03-16 22:07:42 +01:00
scsi.h pc-bios/s390-ccw: Get Block Limits VPD device data 2017-05-19 12:29:01 +02:00
start.S pc-bios: s390x: Go into disabled wait when encountering a PGM exception 2020-10-06 20:14:48 +02:00
virtio-blkdev.c pc-bios/s390-ccw: Do not bail out early if not finding a SCSI disk 2020-10-06 19:36:50 +02:00
virtio-net.c pc-bios: s390x: Move sleep and yield to helper.h 2020-07-02 09:59:51 +02:00
virtio-scsi.c pc-bios/s390-ccw: Do not bail out early if not finding a SCSI disk 2020-10-06 19:36:50 +02:00
virtio-scsi.h pc-bios/s390-ccw: Do not bail out early if not finding a SCSI disk 2020-10-06 19:36:50 +02:00
virtio.c pc-bios: s390x: Consolidate timing functions into time.h 2020-07-02 09:59:24 +02:00
virtio.h pc-bios/s390-ccw: Add virtio-net driver code 2017-07-14 12:29:48 +02:00