Dear SeaBIOS folks,
Building SeaBIOS with GCC 8, the warnings below are shown.
``` $ gcc-8 --version gcc-8 (Debian 8-20180218-1) 8.0.1 20180218 (experimental) [trunk revision 257787] […] $ git log --oneline -1 5adc8bd (HEAD -> master, origin/master, origin/HEAD) tpm: Handle unimplemented TIS_REG_IFACE_ID in tis_get_tpm_version() $ make CC=gcc-8 scripts/kconfig/conf --olddefconfig /dev/shm/seabios2/src/Kconfig # # configuration written to /dev/shm/seabios2/.config # Build Kconfig config file Compile checking out/src/misc.o Compile checking out/src/stacks.o Compile checking out/src/output.o Compile checking out/src/string.o Compile checking out/src/block.o Compile checking out/src/cdrom.o Compile checking out/src/disk.o Compile checking out/src/mouse.o Compile checking out/src/kbd.o Compile checking out/src/system.o Compile checking out/src/serial.o Compile checking out/src/sercon.o Compile checking out/src/clock.o Compile checking out/src/resume.o Compile checking out/src/pnpbios.o Compile checking out/src/vgahooks.o Compile checking out/src/pcibios.o Compile checking out/src/apm.o Compile checking out/src/cp437.o Compile checking out/src/hw/pci.o Compile checking out/src/hw/timer.o Compile checking out/src/hw/rtc.o Compile checking out/src/hw/dma.o Compile checking out/src/hw/pic.o Compile checking out/src/hw/ps2port.o Compile checking out/src/hw/serialio.o Compile checking out/src/hw/usb.o Compile checking out/src/hw/usb-uhci.o Compile checking out/src/hw/usb-ohci.o Compile checking out/src/hw/usb-ehci.o Compile checking out/src/hw/usb-hid.o Compile checking out/src/hw/usb-msc.o Compile checking out/src/hw/usb-uas.o Compile checking out/src/hw/blockcmd.o Compile checking out/src/hw/floppy.o Compile checking out/src/hw/ata.o Compile checking out/src/hw/ramdisk.o Compile checking out/src/hw/lsi-scsi.o Compile checking out/src/hw/esp-scsi.o Compile checking out/src/hw/megasas.o Compile checking out/src/hw/mpt-scsi.o Compile checking out/src/post.o Compile checking out/src/e820map.o Compile checking out/src/malloc.o Compile checking out/src/romfile.o Compile checking out/src/x86.o Compile checking out/src/optionroms.o Compile checking out/src/pmm.o Compile checking out/src/font.o Compile checking out/src/boot.o Compile checking out/src/bootsplash.o Compile checking out/src/jpeg.o Compile checking out/src/bmp.o Compile checking out/src/tcgbios.o Compile checking out/src/sha1.o Compile checking out/src/hw/pcidevice.o Compile checking out/src/hw/ahci.o Compile checking out/src/hw/pvscsi.o Compile checking out/src/hw/usb-xhci.o Compile checking out/src/hw/usb-hub.o Compile checking out/src/hw/sdcard.o Compile checking out/src/fw/coreboot.o Compile checking out/src/fw/lzmadecode.o Compile checking out/src/fw/multiboot.o Compile checking out/src/fw/csm.o Compile checking out/src/fw/biostables.o Compile checking out/src/fw/paravirt.o Compile checking out/src/fw/shadow.o In file included from src/fw/shadow.c:17: src/fw/shadow.c: In function 'qemu_reboot': src/string.h:23:16: warning: '__builtin_memcpy' offset -1048576 is out of the bounds [0, 1] of object 'code32flat_start' with type 'char' [-Warray-bounds] #define memcpy __builtin_memcpy src/fw/shadow.c:190:9: note: in expansion of macro 'memcpy' memcpy(cstart, cstart + BIOS_SRC_OFFSET, hrp - cstart); ^~~~~~ In file included from src/biosvar.h:11, from src/fw/paravirt.h:5, from src/fw/shadow.c:16: src/fw/shadow.c:176:28: note: 'code32flat_start' declared here void *cstart = VSYMBOL(code32flat_start), *cend = VSYMBOL(code32flat_end); ^~~~~~~~~~~~~~~~ src/memmap.h:18:36: note: in definition of macro 'SYMBOL' #define SYMBOL(SYM) ({ extern char SYM; (u32)&SYM; }) ^~~ src/fw/shadow.c:176:20: note: in expansion of macro 'VSYMBOL' void *cstart = VSYMBOL(code32flat_start), *cend = VSYMBOL(code32flat_end); ^~~~~~~ In file included from src/fw/shadow.c:17: src/string.h:23:16: warning: '__builtin_memcpy' offset -1048572 is out of the bounds [0, 4] of object 'HaveRunPost' with type 'int' [-Warray-bounds] #define memcpy __builtin_memcpy src/fw/shadow.c:191:9: note: in expansion of macro 'memcpy' memcpy(hrp + 4, hrp + 4 + BIOS_SRC_OFFSET, cend - (hrp + 4)); ^~~~~~ In file included from src/fw/shadow.c:18: src/util.h:193:12: note: 'HaveRunPost' declared here extern int HaveRunPost; ^~~~~~~~~~~ Compile checking out/src/fw/pciinit.o Compile checking out/src/fw/smm.o Compile checking out/src/fw/smp.o Compile checking out/src/fw/mtrr.o Compile checking out/src/fw/xen.o Compile checking out/src/fw/acpi.o Compile checking out/src/fw/mptable.o Compile checking out/src/fw/pirtable.o Compile checking out/src/fw/smbios.o Compile checking out/src/fw/romfile_loader.o Compile checking out/src/hw/virtio-ring.o Compile checking out/src/hw/virtio-pci.o Compile checking out/src/hw/virtio-blk.o Compile checking out/src/hw/virtio-scsi.o Compile checking out/src/hw/tpm_drivers.o Compile checking out/src/hw/nvme.o Compiling whole program out/ccode32flat.o In file included from out/ccode32flat.o.tmp.c:4: In function 'qemu_reboot', inlined from 'tryReboot' at ./src/resume.c:129:5, inlined from 'handle_resume32' at ./src/resume.c:156:5: ./src/string.c:156:16: warning: '__builtin_memcpy' offset -1048576 is out of the bounds [0, 1] of object 'code32flat_start' with type 'char' [-Warray-bounds] #define memcpy __builtin_memcpy ./src/fw/shadow.c:190:9: note: in expansion of macro 'memcpy' memcpy(cstart, cstart + BIOS_SRC_OFFSET, hrp - cstart); ^~~~~~ In file included from ./src/biosvar.h:11, from ./src/misc.c:8, from out/ccode32flat.o.tmp.c:1: ./src/resume.c: In function 'handle_resume32': ./src/fw/shadow.c:176:28: note: 'code32flat_start' declared here void *cstart = VSYMBOL(code32flat_start), *cend = VSYMBOL(code32flat_end); ^~~~~~~~~~~~~~~~ ./src/memmap.h:18:36: note: in definition of macro 'SYMBOL' #define SYMBOL(SYM) ({ extern char SYM; (u32)&SYM; }) ^~~ ./src/fw/shadow.c:176:20: note: in expansion of macro 'VSYMBOL' void *cstart = VSYMBOL(code32flat_start), *cend = VSYMBOL(code32flat_end); ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:4: In function 'qemu_reboot', inlined from 'tryReboot' at ./src/resume.c:129:5, inlined from 'handle_resume32' at ./src/resume.c:156:5: ./src/string.c:156:16: warning: '__builtin_memcpy' offset -1048572 is out of the bounds [0, 4] of object 'HaveRunPost' with type 'int' [-Warray-bounds] #define memcpy __builtin_memcpy ./src/fw/shadow.c:191:9: note: in expansion of macro 'memcpy' memcpy(hrp + 4, hrp + 4 + BIOS_SRC_OFFSET, cend - (hrp + 4)); ^~~~~~ In file included from ./src/stacks.c:17, from out/ccode32flat.o.tmp.c:2: ./src/resume.c: In function 'handle_resume32': ./src/util.h:193:12: note: 'HaveRunPost' declared here extern int HaveRunPost; ^~~~~~~~~~~ Compiling whole program out/code32seg.o Compiling whole program out/ccode16.o Compiling to assembler out/src/asm-offsets.s Generating offset file out/asm-offsets.h Compiling (16bit) out/romlayout.o Building ld scripts Version: rel-1.11.0-25-g5adc8bd Fixed space: 0xe05b-0x10000 total: 8101 slack: 12 Percent slack: 0.1% 16bit size: 37920 32bit segmented size: 2198 32bit flat size: 38890 32bit flat init size: 80416 Lowmem size: 2240 f-segment var size: 1248 Linking out/rom16.o Stripping out/rom16.strip.o Linking out/rom32seg.o Stripping out/rom32seg.strip.o Linking out/rom.o Prepping out/bios.bin.prep Total size: 168448 Fixed: 80256 Free: 93696 (used 64.3% of 256KiB rom) Creating out/bios.bin ```
Thanks,
Paul