Mock Version: 3.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target s390x --nodeps /builddir/build/SPECS/seabios.spec'], chrootPath='/var/lib/mock/fedora-rawhide-s390x-1672301012.447211/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1001gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.6dju1bdv:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=True) Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.6dju1bdv:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'f6a2fecae3f049959083f0143336f40a', '-D', '/var/lib/mock/fedora-rawhide-s390x-1672301012.447211/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.6dju1bdv:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target s390x --nodeps /builddir/build/SPECS/seabios.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: s390x Building for target s390x setting SOURCE_DATE_EPOCH=1669593600 Wrote: /builddir/build/SRPMS/seabios-1.16.1-2.fc38.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target s390x --nodeps /builddir/build/SPECS/seabios.spec'], chrootPath='/var/lib/mock/fedora-rawhide-s390x-1672301012.447211/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1001gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.6dju1bdv:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=True) Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.6dju1bdv:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '9c2281955f52402fb57c059b189c6a8a', '-D', '/var/lib/mock/fedora-rawhide-s390x-1672301012.447211/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.6dju1bdv:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target s390x --nodeps /builddir/build/SPECS/seabios.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: s390x Building for target s390x setting SOURCE_DATE_EPOCH=1669593600 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.2L93UQ + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf seabios-1.16.1 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/seabios-1.16.1.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd seabios-1.16.1 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/0001-Workaround-for-a-win8.1-32-S4-resume-bug.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/0003-vgabios-Reorder-video-modes-to-work-around-a-Windows.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.ExjSoF + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd seabios-1.16.1 + export 'CFLAGS=-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection' + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection' + mkdir binaries + build_bios /builddir/build/SOURCES/config.seabios-128k bios.bin bios.bin + make clean distclean scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.1/.config # + cp /builddir/build/SOURCES/config.seabios-128k .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.1/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' + make V=1 EXTRAVERSION=-2.fc38 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' Compile checking out/src/misc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/misc.c -o out/src/misc.o In file included from src/biosvar.h:10, from src/misc.c:8: src/misc.c: In function 'handle_12': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:36:16: note: in expansion of macro 'GET_BDA' 36 | regs->ax = GET_BDA(mem_size_kb); | ^~~~~~~ src/misc.c: In function 'handle_11': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:44:16: note: in expansion of macro 'GET_BDA' 44 | regs->ax = GET_BDA(equipment_list_flags); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at src/misc.c:66:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/stacks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/stacks.c -o out/src/stacks.o Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/block.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/block.c -o out/src/block.o src/block.c: In function 'map_hd_drive': src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ^~ In file included from src/biosvar.h:10, from src/block.c:8: In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'fill_fdpt' at src/block.c:213:28, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:239:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:236:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:296:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:292:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compile checking out/src/cdrom.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cdrom.c -o out/src/cdrom.o In file included from src/biosvar.h:10, from src/cdrom.c:8: src/cdrom.c: In function 'cdrom_boot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at src/cdrom.c:242:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/disk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/disk.c -o out/src/disk.o In file included from src/biosvar.h:10, from src/disk.c:8: src/disk.c: In function '__disk_ret_unimplemented': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:45:9: note: in expansion of macro 'SET_BDA' 45 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:43:9: note: in expansion of macro 'SET_BDA' 43 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function '__disk_ret': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:31:9: note: in expansion of macro 'SET_BDA' 31 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:29:9: note: in expansion of macro 'SET_BDA' 29 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function 'disk_1308': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/disk.c:297:17: note: in expansion of macro 'GET_BDA' 297 | count = GET_BDA(hdcount); | ^~~~~~~ src/disk.c: In function 'disk_13': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:626:5: note: in expansion of macro 'SET_BDA' 626 | SET_BDA(disk_interrupt_flag, 0); | ^~~~~~~ In function 'disk_1301', inlined from 'disk_13' at src/disk.c:630:16: src/disk.c:218:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 218 | v = GET_BDA(disk_last_status); src/disk.c:216:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 216 | v = GET_BDA(floppy_last_status); src/disk.c: In function 'handle_76': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:777:5: note: in expansion of macro 'SET_BDA' 777 | SET_BDA(disk_interrupt_flag, 0xff); | ^~~~~~~ Compile checking out/src/mouse.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/mouse.c -o out/src/mouse.o In file included from src/mouse.c:8: In function 'set_equipment_flags', inlined from 'mouse_init' at src/mouse.c:23:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c207' at src/mouse.c:231:20, inlined from 'handle_15c2' at src/mouse.c:272:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c205' at src/mouse.c:162:20, inlined from 'handle_15c2' at src/mouse.c:270:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c20001' at src/mouse.c:56:20, inlined from 'mouse_15c200' at src/mouse.c:82:16, inlined from 'handle_15c2' at src/mouse.c:265:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'process_mouse' at src/mouse.c:322:20: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/kbd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/kbd.c -o out/src/kbd.o In file included from src/biosvar.h:10, from src/kbd.c:8: src/kbd.c: In function 'kbd_set_flag': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:397:18: note: in expansion of macro 'GET_BDA' 397 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:398:17: note: in expansion of macro 'GET_BDA' 398 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:407:5: note: in expansion of macro 'SET_BDA' 407 | SET_BDA(kbd_flag0, flags0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:408:5: note: in expansion of macro 'SET_BDA' 408 | SET_BDA(kbd_flag1, flags1); | ^~~~~~~ src/kbd.c: In function 'set_leds': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:230:23: note: in expansion of macro 'GET_BDA' 230 | u8 shift_flags = (GET_BDA(kbd_flag0) >> 4) & 0x07; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:231:18: note: in expansion of macro 'GET_BDA' 231 | u8 kbd_led = GET_BDA(kbd_led); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:241:5: note: in expansion of macro 'SET_BDA' 241 | SET_BDA(kbd_led, kbd_led); | ^~~~~~~ src/kbd.c: In function 'dequeue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:61:23: note: in expansion of macro 'GET_BDA' 61 | buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:62:23: note: in expansion of macro 'GET_BDA' 62 | buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:98:24: note: in expansion of macro 'GET_BDA' 98 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:99:24: note: in expansion of macro 'GET_BDA' 99 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:104:5: note: in expansion of macro 'SET_BDA' 104 | SET_BDA(kbd_buf_head, buffer_head); | ^~~~~~~ src/kbd.c: In function 'kbd_init': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ src/kbd.c: In function 'enqueue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:35:24: note: in expansion of macro 'GET_BDA' 35 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:36:24: note: in expansion of macro 'GET_BDA' 36 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:38:23: note: in expansion of macro 'GET_BDA' 38 | u16 buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:39:23: note: in expansion of macro 'GET_BDA' 39 | u16 buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:50:5: note: in expansion of macro 'SET_BDA' 50 | SET_BDA(kbd_buf_tail, buffer_tail); | ^~~~~~~ In function 'handle_1612', inlined from 'handle_16' at src/kbd.c:264:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:193:18: note: in expansion of macro 'GET_BDA' 193 | regs->ax = ((GET_BDA(kbd_flag0) & ~((KF1_RCTRL|KF1_RALT) << 8)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:194:21: note: in expansion of macro 'GET_BDA' 194 | | ((GET_BDA(kbd_flag1) & (KF1_RCTRL|KF1_RALT)) << 8)); | ^~~~~~~ In function 'handle_1602', inlined from 'handle_16' at src/kbd.c:258:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:134:16: note: in expansion of macro 'GET_BDA' 134 | regs->al = GET_BDA(kbd_flag0); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:459:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 459 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:473:9: note: in expansion of macro 'SET_BDA' 473 | SET_BDA(kbd_flag1, flags1 & ~(KF1_LAST_E0|KF1_LAST_E1)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:529:14: note: in expansion of macro 'GET_BDA' 529 | if ((GET_BDA(kbd_flag0) & (KF0_CTRLACTIVE|KF0_ALTACTIVE)) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:532:13: note: in expansion of macro 'SET_BDA' 532 | SET_BDA(soft_reset_flag, 0x1234); | ^~~~~~~ In function 'kbd_ctrl_break', inlined from '__process_key' at src/kbd.c:513:13, inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:417:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 417 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:418:5: note: in expansion of macro 'SET_BDA' 418 | SET_BDA(kbd_buf_head, buffer_start); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:419:5: note: in expansion of macro 'SET_BDA' 419 | SET_BDA(kbd_buf_tail, buffer_start+2); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:422:5: note: in expansion of macro 'SET_BDA' 422 | SET_BDA(break_flag, 0x80); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:552:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 552 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:463:9: note: in expansion of macro 'SET_BDA' 463 | SET_BDA(kbd_flag1, flags1 | eflag); | ^~~~~~~ Compile checking out/src/system.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/system.c -o out/src/system.o In file included from src/biosvar.h:10, from src/system.c:8: In function 'get_ebda_seg', inlined from 'handle_15c1' at src/system.c:255:16, inlined from 'handle_15' at src/system.c:352:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/serial.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/serial.c -o out/src/serial.o In file included from src/serial.c:8: In function 'set_equipment_flags', inlined from 'serial_setup' at src/serial.c:56:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at src/serial.c:212:14: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at src/serial.c:217:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/sercon.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sercon.c -o out/src/sercon.o Compile checking out/src/clock.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/clock.c -o out/src/clock.o In file included from src/biosvar.h:10, from src/clock.c:8: src/clock.c: In function 'clear_usertimer': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:389:11: note: in expansion of macro 'GET_BDA' 389 | if (!(GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING)) | ^~~~~~~ In function 'clear_usertimer', inlined from 'clear_usertimer' at src/clock.c:387:1: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:392:5: note: in expansion of macro 'SET_BDA' 392 | SET_BDA(rtc_wait_flag, 0); | ^~~~~~~ src/clock.c: In function 'clock_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In function 'handle_1a01', inlined from 'handle_1a' at src/clock.c:268:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(timer_counter, ticks); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:87:5: note: in expansion of macro 'SET_BDA' 87 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'handle_1a00', inlined from 'handle_1a' at src/clock.c:267:16: src/clock.c:73:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 73 | u32 ticks = GET_BDA(timer_counter); | ^~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:76:16: note: in expansion of macro 'GET_BDA' 76 | regs->al = GET_BDA(timer_rollover); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:77:5: note: in expansion of macro 'SET_BDA' 77 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'clock_update', inlined from 'handle_08' at src/clock.c:306:5: src/clock.c:284:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 284 | u32 counter = GET_BDA(timer_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:290:33: note: in expansion of macro 'GET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:292:5: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(timer_counter, counter); | ^~~~~~~ src/clock.c: In function 'handle_08': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/clock.c:312:29: note: in expansion of macro 'GET_IVT' 312 | struct segoff_s isr1c = GET_IVT(0x1c); | ^~~~~~~ src/clock.c: In function 'irqtimer_calc_ticks': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ src/clock.c: In function 'irqtimer_calc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ src/clock.c: In function 'irqtimer_check': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_1586' at src/clock.c:409:15: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:375:9: note: in expansion of macro 'GET_BDA' 375 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:379:5: note: in expansion of macro 'SET_BDA' 379 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:381:5: note: in expansion of macro 'SET_BDA' 381 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_158300' at src/clock.c:423:15, inlined from 'handle_1583' at src/clock.c:454:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:375:9: note: in expansion of macro 'GET_BDA' 375 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:379:5: note: in expansion of macro 'SET_BDA' 379 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:381:5: note: in expansion of macro 'SET_BDA' 381 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ src/clock.c: In function 'handle_70': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:490:10: note: in expansion of macro 'GET_BDA' 490 | if (!GET_BDA(rtc_wait_flag)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:494:16: note: in expansion of macro 'GET_BDA' 494 | u32 time = GET_BDA(user_wait_timeout); // Time left in microseconds. | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:507:9: note: in expansion of macro 'SET_BDA' 507 | SET_BDA(user_wait_timeout, time); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:497:34: note: in expansion of macro 'GET_BDA' 497 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:497:34: note: in expansion of macro 'GET_BDA' 497 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ Compile checking out/src/resume.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/resume.c -o out/src/resume.o Compile checking out/src/pnpbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pnpbios.c -o out/src/pnpbios.o Compile checking out/src/vgahooks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/vgahooks.c -o out/src/vgahooks.o Compile checking out/src/pcibios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pcibios.c -o out/src/pcibios.o Compile checking out/src/apm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/apm.c -o out/src/apm.o Compile checking out/src/cp437.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cp437.c -o out/src/cp437.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/timer.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/timer.c -o out/src/hw/timer.o Compile checking out/src/hw/rtc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/rtc.c -o out/src/hw/rtc.o Compile checking out/src/hw/dma.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/dma.c -o out/src/hw/dma.o Compile checking out/src/hw/pic.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pic.c -o out/src/hw/pic.o Compile checking out/src/hw/ps2port.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ps2port.c -o out/src/hw/ps2port.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/src/hw/usb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb.c -o out/src/hw/usb.o Compile checking out/src/hw/usb-uhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uhci.c -o out/src/hw/usb-uhci.o Compile checking out/src/hw/usb-ohci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ohci.c -o out/src/hw/usb-ohci.o Compile checking out/src/hw/usb-ehci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ehci.c -o out/src/hw/usb-ehci.o Compile checking out/src/hw/usb-hid.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hid.c -o out/src/hw/usb-hid.o Compile checking out/src/hw/usb-msc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-msc.c -o out/src/hw/usb-msc.o Compile checking out/src/hw/usb-uas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uas.c -o out/src/hw/usb-uas.o Compile checking out/src/hw/blockcmd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/blockcmd.c -o out/src/hw/blockcmd.o Compile checking out/src/hw/floppy.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/floppy.c -o out/src/hw/floppy.o In file included from src/biosvar.h:10, from src/hw/floppy.c:8: src/hw/floppy.c: In function 'floppy_wait_irq': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:226:14: note: in expansion of macro 'GET_BDA' 226 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:227:5: note: in expansion of macro 'SET_BDA' 227 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:235:15: note: in expansion of macro 'GET_BDA' 235 | frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:243:5: note: in expansion of macro 'SET_BDA' 243 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_drive_pio': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:372:5: note: in expansion of macro 'SET_BDA' 372 | SET_BDA(floppy_motor_counter, 255); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:387:5: note: in expansion of macro 'SET_BDA' 387 | SET_BDA(floppy_motor_counter, FLOPPY_MOTOR_TICKS); // reset motor timeout | ^~~~~~~ src/hw/floppy.c: In function 'floppy_prep': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:494:11: note: in expansion of macro 'GET_BDA' 494 | if (!(GET_BDA(floppy_recalibration_status) & (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:414:5: note: in expansion of macro 'SET_BDA' 414 | SET_BDA(floppy_recalibration_status, frs | (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:478:5: note: in expansion of macro 'SET_BDA' 478 | SET_BDA(floppy_last_data_rate, (old_data_rate<<2) | (data_rate<<6)); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_setup': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'floppy_reset', inlined from 'floppy_process_op' at src/hw/floppy.c:691:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:594:5: note: in expansion of macro 'SET_BDA' 594 | SET_BDA(floppy_recalibration_status, 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:595:5: note: in expansion of macro 'SET_BDA' 595 | SET_BDA(floppy_media_state[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:596:5: note: in expansion of macro 'SET_BDA' 596 | SET_BDA(floppy_media_state[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:597:5: note: in expansion of macro 'SET_BDA' 597 | SET_BDA(floppy_track[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:598:5: note: in expansion of macro 'SET_BDA' 598 | SET_BDA(floppy_track[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:599:5: note: in expansion of macro 'SET_BDA' 599 | SET_BDA(floppy_last_data_rate, 0); | ^~~~~~~ src/hw/floppy.c: In function 'handle_0e': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:719:14: note: in expansion of macro 'GET_BDA' 719 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:720:5: note: in expansion of macro 'SET_BDA' 720 | SET_BDA(floppy_recalibration_status, frs | FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_tick': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:733:17: note: in expansion of macro 'GET_BDA' 733 | u8 fcount = GET_BDA(floppy_motor_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:736:9: note: in expansion of macro 'SET_BDA' 736 | SET_BDA(floppy_motor_counter, fcount); | ^~~~~~~ Compile checking out/src/hw/ata.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ata.c -o out/src/hw/ata.o In file included from src/biosvar.h:10, from src/hw/ata.c:9: src/hw/ata.c: In function 'ata_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ Compile checking out/src/hw/ramdisk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ramdisk.c -o out/src/hw/ramdisk.o Compile checking out/src/hw/lsi-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/lsi-scsi.c -o out/src/hw/lsi-scsi.o Compile checking out/src/hw/esp-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/esp-scsi.c -o out/src/hw/esp-scsi.o Compile checking out/src/hw/megasas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/megasas.c -o out/src/hw/megasas.o Compile checking out/src/hw/mpt-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/mpt-scsi.c -o out/src/hw/mpt-scsi.o Compile checking out/src/post.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/post.c -o out/src/post.o In file included from src/biosvar.h:10, from src/post.c:8: In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'bda_init' at src/post.c:91:46, inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/e820map.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/e820map.c -o out/src/e820map.o Compile checking out/src/malloc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/malloc.c -o out/src/malloc.o In file included from src/biosvar.h:10, from src/malloc.c:7: src/malloc.c: In function 'malloc_prepboot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ Compile checking out/src/romfile.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/romfile.c -o out/src/romfile.o Compile checking out/src/x86.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/x86.c -o out/src/x86.o Compile checking out/src/optionroms.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/optionroms.c -o out/src/optionroms.o In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:344:28: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:348:9: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In file included from src/optionroms.c:10: In function 'boot_irq_restore', inlined from 'init_pcirom' at src/optionroms.c:354:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ Compile checking out/src/pmm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pmm.c -o out/src/pmm.o Compile checking out/src/font.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/font.c -o out/src/font.o Compile checking out/src/boot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/boot.c -o out/src/boot.o Compile checking out/src/bootsplash.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bootsplash.c -o out/src/bootsplash.o Compile checking out/src/jpeg.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/jpeg.c -o out/src/jpeg.o Compile checking out/src/bmp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bmp.c -o out/src/bmp.o Compile checking out/src/tcgbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/tcgbios.c -o out/src/tcgbios.o Compile checking out/src/sha1.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha1.c -o out/src/sha1.o Compile checking out/src/hw/pcidevice.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pcidevice.c -o out/src/hw/pcidevice.o Compile checking out/src/hw/ahci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ahci.c -o out/src/hw/ahci.o Compile checking out/src/hw/pvscsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pvscsi.c -o out/src/hw/pvscsi.o Compile checking out/src/hw/usb-xhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-xhci.c -o out/src/hw/usb-xhci.o Compile checking out/src/hw/usb-hub.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hub.c -o out/src/hw/usb-hub.o Compile checking out/src/hw/sdcard.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/sdcard.c -o out/src/hw/sdcard.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/src/fw/lzmadecode.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/lzmadecode.c -o out/src/fw/lzmadecode.o Compile checking out/src/fw/multiboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/multiboot.c -o out/src/fw/multiboot.o Compile checking out/src/fw/csm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/csm.c -o out/src/fw/csm.o Compile checking out/src/fw/biostables.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/biostables.c -o out/src/fw/biostables.o Compile checking out/src/fw/paravirt.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/paravirt.c -o out/src/fw/paravirt.o Compile checking out/src/fw/shadow.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/shadow.c -o out/src/fw/shadow.o Compile checking out/src/fw/pciinit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pciinit.c -o out/src/fw/pciinit.o Compile checking out/src/fw/smm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smm.c -o out/src/fw/smm.o Compile checking out/src/fw/smp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smp.c -o out/src/fw/smp.o Compile checking out/src/fw/mtrr.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mtrr.c -o out/src/fw/mtrr.o Compile checking out/src/fw/xen.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/xen.c -o out/src/fw/xen.o Compile checking out/src/fw/acpi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/acpi.c -o out/src/fw/acpi.o Compile checking out/src/fw/mptable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mptable.c -o out/src/fw/mptable.o Compile checking out/src/fw/pirtable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pirtable.c -o out/src/fw/pirtable.o Compile checking out/src/fw/smbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smbios.c -o out/src/fw/smbios.o Compile checking out/src/fw/romfile_loader.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/romfile_loader.c -o out/src/fw/romfile_loader.o Compile checking out/src/fw/dsdt_parser.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/dsdt_parser.c -o out/src/fw/dsdt_parser.o Compile checking out/src/hw/virtio-ring.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-ring.c -o out/src/hw/virtio-ring.o Compile checking out/src/hw/virtio-pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-pci.c -o out/src/hw/virtio-pci.o Compile checking out/src/hw/virtio-mmio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-mmio.c -o out/src/hw/virtio-mmio.o Compile checking out/src/hw/virtio-blk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-blk.c -o out/src/hw/virtio-blk.o Compile checking out/src/hw/virtio-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-scsi.c -o out/src/hw/virtio-scsi.o Compile checking out/src/hw/tpm_drivers.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/tpm_drivers.c -o out/src/hw/tpm_drivers.o Compile checking out/src/hw/nvme.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/nvme.c -o out/src/hw/nvme.o Compile checking out/src/sha256.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha256.c -o out/src/sha256.o Compile checking out/src/sha512.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha512.c -o out/src/sha512.o Compiling whole program out/ccode32flat.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n #include "src/post.c"\n #include "src/e820map.c"\n #include "src/malloc.c"\n #include "src/romfile.c"\n #include "src/x86.c"\n #include "src/optionroms.c"\n #include "src/pmm.c"\n #include "src/font.c"\n #include "src/boot.c"\n #include "src/bootsplash.c"\n #include "src/jpeg.c"\n #include "src/bmp.c"\n #include "src/tcgbios.c"\n #include "src/sha1.c"\n #include "src/hw/pcidevice.c"\n #include "src/hw/ahci.c"\n #include "src/hw/pvscsi.c"\n #include "src/hw/usb-xhci.c"\n #include "src/hw/usb-hub.c"\n #include "src/hw/sdcard.c"\n #include "src/fw/coreboot.c"\n #include "src/fw/lzmadecode.c"\n #include "src/fw/multiboot.c"\n #include "src/fw/csm.c"\n #include "src/fw/biostables.c"\n #include "src/fw/paravirt.c"\n #include "src/fw/shadow.c"\n #include "src/fw/pciinit.c"\n #include "src/fw/smm.c"\n #include "src/fw/smp.c"\n #include "src/fw/mtrr.c"\n #include "src/fw/xen.c"\n #include "src/fw/acpi.c"\n #include "src/fw/mptable.c"\n #include "src/fw/pirtable.c"\n #include "src/fw/smbios.c"\n #include "src/fw/romfile_loader.c"\n #include "src/fw/dsdt_parser.c"\n #include "src/hw/virtio-ring.c"\n #include "src/hw/virtio-pci.c"\n #include "src/hw/virtio-mmio.c"\n #include "src/hw/virtio-blk.c"\n #include "src/hw/virtio-scsi.c"\n #include "src/hw/tpm_drivers.c"\n #include "src/hw/nvme.c"\n #include "src/sha256.c"\n #include "src/sha512.c"\n' > out/ccode32flat.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -fwhole-program -DWHOLE_PROGRAM -c out/ccode32flat.o.tmp.c -o out/ccode32flat.o In file included from ./src/biosvar.h:10, from ./src/misc.c:8, from out/ccode32flat.o.tmp.c:1: In function 'irqtimer_calc_ticks', inlined from 'irqtimer_calc' at ./src/clock.c:356:12, inlined from 'irqtimer_calc' at ./src/clock.c:352:1: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ ./src/clock.c: In function 'irqtimer_calc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ ./src/output.c: In function 'screenc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ ./src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ In function 'irqtimer_check', inlined from 'get_keystroke_full' at ./src/boot.c:661:13: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'irqtimer_check', inlined from 'boot_fail' at ./src/boot.c:974:41: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:47: In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:344:28: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:348:9: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_restore', inlined from 'init_pcirom' at ./src/optionroms.c:354:9: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ In function 'floppy_setup', inlined from 'block_setup' at ./src/block.c:510:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'ata_setup', inlined from 'block_setup' at ./src/block.c:511:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at ./src/serial.c:212:14, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at ./src/serial.c:217:5, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'serial_setup' at ./src/serial.c:56:5, inlined from 'device_hardware_setup' at ./src/post.c:133:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ ./src/cdrom.c: In function 'cdrom_boot': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at ./src/cdrom.c:242:9: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at ./src/post.c:114:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'bda_init' at ./src/post.c:91:46, inlined from 'interface_init' at ./src/post.c:114:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'kbd_init', inlined from 'interface_init' at ./src/post.c:121:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mouse_init' at ./src/mouse.c:23:5, inlined from 'interface_init' at ./src/post.c:122:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at ./src/misc.c:66:5, inlined from 'platform_hardware_setup' at ./src/post.c:146:5, inlined from 'maininit' at ./src/post.c:203:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'clock_setup', inlined from 'platform_hardware_setup' at ./src/post.c:154:5, inlined from 'maininit' at ./src/post.c:203:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In function 'irqtimer_check', inlined from 'interactive_bootmenu' at ./src/boot.c:755:37, inlined from 'maininit' at ./src/post.c:224:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'malloc_prepboot', inlined from 'prepareboot' at ./src/post.c:172:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:5: In function 'map_hd_drive', inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ~~~^~~~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'fill_fdpt' at ./src/block.c:213:28, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:239:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:236:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:296:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:292:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compiling whole program out/code32seg.o printf '#include "src/string.c"\n #include "src/output.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/stacks.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n' > out/code32seg.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=0 -fwhole-program -DWHOLE_PROGRAM -c out/code32seg.o.tmp.c -o out/code32seg.o Compiling whole program out/ccode16.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n' > out/ccode16.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fwhole-program -DWHOLE_PROGRAM -c out/ccode16.o.tmp.c -o out/ccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/romlayout.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ src/romlayout.S -o out/romlayout.o Building ld scripts python3 ./scripts/buildversion.py -e "-2.fc38" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autoversion.h Version: 1.16.1-2.fc38 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/version.c -o out/version.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode32flat.o out/version.o -o out/code32flat.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode16.o out/romlayout.o -o out/code16.o x86_64-linux-gnu-objdump -thr out/code32flat.o > out/code32flat.o.objdump x86_64-linux-gnu-objdump -thr out/code32seg.o > out/code32seg.o.objdump x86_64-linux-gnu-objdump -thr out/code16.o > out/code16.o.objdump python3 ./scripts/layoutrom.py out/code16.o.objdump out/code32seg.o.objdump out/code32flat.o.objdump out/autoconf.h out/romlayout16.lds out/romlayout32seg.lds out/romlayout32flat.lds Fixed space: 0xe05b-0x10000 total: 8101 slack: 15 Percent slack: 0.2% 16bit size: 31328 32bit segmented size: 2297 32bit flat size: 28039 32bit flat init size: 53632 Lowmem size: 2176 f-segment var size: 1216 Linking out/rom16.o x86_64-linux-gnu-ld -T out/romlayout16.lds out/code16.o -o out/rom16.o Stripping out/rom16.noexec.o x86_64-linux-gnu-strip out/rom16.o -o out/rom16.o.strip.o python3 ./scripts/ldnoexec.py out/rom16.o.strip.o out/rom16.noexec.o Linking out/rom32seg.o x86_64-linux-gnu-ld -T out/romlayout32seg.lds out/code32seg.o -o out/rom32seg.o Stripping out/rom32seg.noexec.o x86_64-linux-gnu-strip out/rom32seg.o -o out/rom32seg.o.strip.o python3 ./scripts/ldnoexec.py out/rom32seg.o.strip.o out/rom32seg.noexec.o Linking out/rom.o x86_64-linux-gnu-ld -N -T out/romlayout32flat.lds out/rom16.noexec.o out/rom32seg.noexec.o out/code32flat.o -o out/rom.o Prepping out/bios.bin.prep rm -f out/bios.bin out/Csm16.bin out/bios.bin.elf x86_64-linux-gnu-objdump -thr out/rom.o > out/rom.o.objdump x86_64-linux-gnu-objcopy -O binary out/rom.o out/bios.bin.raw python3 ./scripts/checkrom.py out/rom.o.objdump 128 out/bios.bin.raw out/bios.bin.prep Total size: 122944 Fixed: 62880 Free: 8128 (used 93.8% of 128KiB rom) Creating out/bios.bin cp out/bios.bin.prep out/bios.bin + cp out/bios.bin binaries/bios.bin + build_bios /builddir/build/SOURCES/config.seabios-256k bios.bin bios-256k.bin + make clean distclean + cp /builddir/build/SOURCES/config.seabios-256k .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.1/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' + make V=1 EXTRAVERSION=-2.fc38 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' Compile checking out/src/misc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/misc.c -o out/src/misc.o In file included from src/biosvar.h:10, from src/misc.c:8: src/misc.c: In function 'handle_12': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:36:16: note: in expansion of macro 'GET_BDA' 36 | regs->ax = GET_BDA(mem_size_kb); | ^~~~~~~ src/misc.c: In function 'handle_11': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:44:16: note: in expansion of macro 'GET_BDA' 44 | regs->ax = GET_BDA(equipment_list_flags); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at src/misc.c:66:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/stacks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/stacks.c -o out/src/stacks.o Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/block.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/block.c -o out/src/block.o src/block.c: In function 'map_hd_drive': src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ^~ In file included from src/biosvar.h:10, from src/block.c:8: In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'fill_fdpt' at src/block.c:213:28, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:239:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:236:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:296:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:292:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compile checking out/src/cdrom.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cdrom.c -o out/src/cdrom.o In file included from src/biosvar.h:10, from src/cdrom.c:8: src/cdrom.c: In function 'cdrom_boot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at src/cdrom.c:242:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/disk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/disk.c -o out/src/disk.o In file included from src/biosvar.h:10, from src/disk.c:8: src/disk.c: In function '__disk_ret_unimplemented': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:45:9: note: in expansion of macro 'SET_BDA' 45 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:43:9: note: in expansion of macro 'SET_BDA' 43 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function '__disk_ret': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:31:9: note: in expansion of macro 'SET_BDA' 31 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:29:9: note: in expansion of macro 'SET_BDA' 29 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function 'disk_1308': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/disk.c:297:17: note: in expansion of macro 'GET_BDA' 297 | count = GET_BDA(hdcount); | ^~~~~~~ src/disk.c: In function 'disk_13': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:626:5: note: in expansion of macro 'SET_BDA' 626 | SET_BDA(disk_interrupt_flag, 0); | ^~~~~~~ In function 'disk_1301', inlined from 'disk_13' at src/disk.c:630:16: src/disk.c:218:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 218 | v = GET_BDA(disk_last_status); src/disk.c:216:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 216 | v = GET_BDA(floppy_last_status); src/disk.c: In function 'handle_76': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:777:5: note: in expansion of macro 'SET_BDA' 777 | SET_BDA(disk_interrupt_flag, 0xff); | ^~~~~~~ Compile checking out/src/mouse.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/mouse.c -o out/src/mouse.o In file included from src/mouse.c:8: In function 'set_equipment_flags', inlined from 'mouse_init' at src/mouse.c:23:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c207' at src/mouse.c:231:20, inlined from 'handle_15c2' at src/mouse.c:272:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c205' at src/mouse.c:162:20, inlined from 'handle_15c2' at src/mouse.c:270:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c20001' at src/mouse.c:56:20, inlined from 'mouse_15c200' at src/mouse.c:82:16, inlined from 'handle_15c2' at src/mouse.c:265:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'process_mouse' at src/mouse.c:322:20: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/kbd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/kbd.c -o out/src/kbd.o In file included from src/biosvar.h:10, from src/kbd.c:8: src/kbd.c: In function 'kbd_set_flag': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:397:18: note: in expansion of macro 'GET_BDA' 397 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:398:17: note: in expansion of macro 'GET_BDA' 398 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:407:5: note: in expansion of macro 'SET_BDA' 407 | SET_BDA(kbd_flag0, flags0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:408:5: note: in expansion of macro 'SET_BDA' 408 | SET_BDA(kbd_flag1, flags1); | ^~~~~~~ src/kbd.c: In function 'set_leds': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:230:23: note: in expansion of macro 'GET_BDA' 230 | u8 shift_flags = (GET_BDA(kbd_flag0) >> 4) & 0x07; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:231:18: note: in expansion of macro 'GET_BDA' 231 | u8 kbd_led = GET_BDA(kbd_led); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:241:5: note: in expansion of macro 'SET_BDA' 241 | SET_BDA(kbd_led, kbd_led); | ^~~~~~~ src/kbd.c: In function 'dequeue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:61:23: note: in expansion of macro 'GET_BDA' 61 | buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:62:23: note: in expansion of macro 'GET_BDA' 62 | buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:98:24: note: in expansion of macro 'GET_BDA' 98 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:99:24: note: in expansion of macro 'GET_BDA' 99 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:104:5: note: in expansion of macro 'SET_BDA' 104 | SET_BDA(kbd_buf_head, buffer_head); | ^~~~~~~ src/kbd.c: In function 'kbd_init': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ src/kbd.c: In function 'enqueue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:35:24: note: in expansion of macro 'GET_BDA' 35 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:36:24: note: in expansion of macro 'GET_BDA' 36 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:38:23: note: in expansion of macro 'GET_BDA' 38 | u16 buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:39:23: note: in expansion of macro 'GET_BDA' 39 | u16 buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:50:5: note: in expansion of macro 'SET_BDA' 50 | SET_BDA(kbd_buf_tail, buffer_tail); | ^~~~~~~ In function 'handle_1612', inlined from 'handle_16' at src/kbd.c:264:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:193:18: note: in expansion of macro 'GET_BDA' 193 | regs->ax = ((GET_BDA(kbd_flag0) & ~((KF1_RCTRL|KF1_RALT) << 8)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:194:21: note: in expansion of macro 'GET_BDA' 194 | | ((GET_BDA(kbd_flag1) & (KF1_RCTRL|KF1_RALT)) << 8)); | ^~~~~~~ In function 'handle_1602', inlined from 'handle_16' at src/kbd.c:258:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:134:16: note: in expansion of macro 'GET_BDA' 134 | regs->al = GET_BDA(kbd_flag0); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:459:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 459 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:473:9: note: in expansion of macro 'SET_BDA' 473 | SET_BDA(kbd_flag1, flags1 & ~(KF1_LAST_E0|KF1_LAST_E1)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:529:14: note: in expansion of macro 'GET_BDA' 529 | if ((GET_BDA(kbd_flag0) & (KF0_CTRLACTIVE|KF0_ALTACTIVE)) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:532:13: note: in expansion of macro 'SET_BDA' 532 | SET_BDA(soft_reset_flag, 0x1234); | ^~~~~~~ In function 'kbd_ctrl_break', inlined from '__process_key' at src/kbd.c:513:13, inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:417:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 417 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:418:5: note: in expansion of macro 'SET_BDA' 418 | SET_BDA(kbd_buf_head, buffer_start); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:419:5: note: in expansion of macro 'SET_BDA' 419 | SET_BDA(kbd_buf_tail, buffer_start+2); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:422:5: note: in expansion of macro 'SET_BDA' 422 | SET_BDA(break_flag, 0x80); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:552:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 552 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:463:9: note: in expansion of macro 'SET_BDA' 463 | SET_BDA(kbd_flag1, flags1 | eflag); | ^~~~~~~ Compile checking out/src/system.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/system.c -o out/src/system.o In file included from src/biosvar.h:10, from src/system.c:8: In function 'get_ebda_seg', inlined from 'handle_15c1' at src/system.c:255:16, inlined from 'handle_15' at src/system.c:352:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/serial.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/serial.c -o out/src/serial.o In file included from src/serial.c:8: In function 'set_equipment_flags', inlined from 'serial_setup' at src/serial.c:56:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at src/serial.c:212:14: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at src/serial.c:217:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/sercon.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sercon.c -o out/src/sercon.o In file included from src/biosvar.h:10, from src/sercon.c:7: In function 'cursor_pos_set', inlined from 'sercon_cursor_pos_set' at src/sercon.c:190:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_lf' at src/sercon.c:270:11: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_lazy_lf' at src/sercon.c:271:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cursor_sync' at src/sercon.c:198:14, inlined from 'sercon_lazy_flush' at src/sercon.c:236:5: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_putchar' at src/sercon.c:296:9: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:285:11, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_cols', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:286:16, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_100f', inlined from 'handle_sercon' at src/sercon.c:505:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:456:16: note: in expansion of macro 'GET_BDA' 456 | regs->al = GET_BDA(video_mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:457:16: note: in expansion of macro 'GET_BDA' 457 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cr' at src/sercon.c:263:27, inlined from 'sercon_100e' at src/sercon.c:442:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_backspace' at src/sercon.c:254:11, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_backspace' at src/sercon.c:257:35, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1009' at src/sercon.c:411:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1009' at src/sercon.c:411:31, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1009' at src/sercon.c:412:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1009' at src/sercon.c:427:33, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1006' at src/sercon.c:384:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1006' at src/sercon.c:385:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_1003', inlined from 'handle_sercon' at src/sercon.c:500:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:371:16: note: in expansion of macro 'GET_BDA' 371 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1003' at src/sercon.c:372:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1003' at src/sercon.c:373:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'sercon_1001', inlined from 'handle_sercon' at src/sercon.c:498:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:359:5: note: in expansion of macro 'SET_BDA' 359 | SET_BDA(cursor_type, regs->cx); | ^~~~~~~ In function 'cursor_pos_set', inlined from 'sercon_1000' at src/sercon.c:335:9, inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'sercon_1000', inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:336:9: note: in expansion of macro 'SET_BDA' 336 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:337:9: note: in expansion of macro 'SET_BDA' 337 | SET_BDA(video_cols, cols); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:338:9: note: in expansion of macro 'SET_BDA' 338 | SET_BDA(video_rows, rows-1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:339:9: note: in expansion of macro 'SET_BDA' 339 | SET_BDA(cursor_type, 0x0007); | ^~~~~~~ src/sercon.c: In function 'sercon_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/sercon.c:528:15: note: in expansion of macro 'GET_IVT' 528 | vgabios = GET_IVT(0x10); | ^~~~~~~ src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ Compile checking out/src/clock.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/clock.c -o out/src/clock.o In file included from src/biosvar.h:10, from src/clock.c:8: src/clock.c: In function 'clear_usertimer': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:389:11: note: in expansion of macro 'GET_BDA' 389 | if (!(GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING)) | ^~~~~~~ In function 'clear_usertimer', inlined from 'clear_usertimer' at src/clock.c:387:1: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:392:5: note: in expansion of macro 'SET_BDA' 392 | SET_BDA(rtc_wait_flag, 0); | ^~~~~~~ src/clock.c: In function 'clock_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In function 'handle_1a01', inlined from 'handle_1a' at src/clock.c:268:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(timer_counter, ticks); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:87:5: note: in expansion of macro 'SET_BDA' 87 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'handle_1a00', inlined from 'handle_1a' at src/clock.c:267:16: src/clock.c:73:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 73 | u32 ticks = GET_BDA(timer_counter); | ^~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:76:16: note: in expansion of macro 'GET_BDA' 76 | regs->al = GET_BDA(timer_rollover); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:77:5: note: in expansion of macro 'SET_BDA' 77 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'clock_update', inlined from 'handle_08' at src/clock.c:306:5: src/clock.c:284:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 284 | u32 counter = GET_BDA(timer_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:290:33: note: in expansion of macro 'GET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:292:5: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(timer_counter, counter); | ^~~~~~~ src/clock.c: In function 'handle_08': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/clock.c:312:29: note: in expansion of macro 'GET_IVT' 312 | struct segoff_s isr1c = GET_IVT(0x1c); | ^~~~~~~ src/clock.c: In function 'irqtimer_calc_ticks': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ src/clock.c: In function 'irqtimer_calc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ src/clock.c: In function 'irqtimer_check': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_1586' at src/clock.c:409:15: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:375:9: note: in expansion of macro 'GET_BDA' 375 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:379:5: note: in expansion of macro 'SET_BDA' 379 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:381:5: note: in expansion of macro 'SET_BDA' 381 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_158300' at src/clock.c:423:15, inlined from 'handle_1583' at src/clock.c:454:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:375:9: note: in expansion of macro 'GET_BDA' 375 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:379:5: note: in expansion of macro 'SET_BDA' 379 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:381:5: note: in expansion of macro 'SET_BDA' 381 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ src/clock.c: In function 'handle_70': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:490:10: note: in expansion of macro 'GET_BDA' 490 | if (!GET_BDA(rtc_wait_flag)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:494:16: note: in expansion of macro 'GET_BDA' 494 | u32 time = GET_BDA(user_wait_timeout); // Time left in microseconds. | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:507:9: note: in expansion of macro 'SET_BDA' 507 | SET_BDA(user_wait_timeout, time); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:497:34: note: in expansion of macro 'GET_BDA' 497 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:497:34: note: in expansion of macro 'GET_BDA' 497 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ Compile checking out/src/resume.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/resume.c -o out/src/resume.o Compile checking out/src/pnpbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pnpbios.c -o out/src/pnpbios.o Compile checking out/src/vgahooks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/vgahooks.c -o out/src/vgahooks.o Compile checking out/src/pcibios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pcibios.c -o out/src/pcibios.o Compile checking out/src/apm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/apm.c -o out/src/apm.o Compile checking out/src/cp437.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cp437.c -o out/src/cp437.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/timer.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/timer.c -o out/src/hw/timer.o Compile checking out/src/hw/rtc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/rtc.c -o out/src/hw/rtc.o Compile checking out/src/hw/dma.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/dma.c -o out/src/hw/dma.o Compile checking out/src/hw/pic.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pic.c -o out/src/hw/pic.o Compile checking out/src/hw/ps2port.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ps2port.c -o out/src/hw/ps2port.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/src/hw/usb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb.c -o out/src/hw/usb.o Compile checking out/src/hw/usb-uhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uhci.c -o out/src/hw/usb-uhci.o Compile checking out/src/hw/usb-ohci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ohci.c -o out/src/hw/usb-ohci.o Compile checking out/src/hw/usb-ehci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ehci.c -o out/src/hw/usb-ehci.o Compile checking out/src/hw/usb-hid.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hid.c -o out/src/hw/usb-hid.o Compile checking out/src/hw/usb-msc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-msc.c -o out/src/hw/usb-msc.o Compile checking out/src/hw/usb-uas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uas.c -o out/src/hw/usb-uas.o Compile checking out/src/hw/blockcmd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/blockcmd.c -o out/src/hw/blockcmd.o Compile checking out/src/hw/floppy.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/floppy.c -o out/src/hw/floppy.o In file included from src/biosvar.h:10, from src/hw/floppy.c:8: src/hw/floppy.c: In function 'floppy_wait_irq': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:226:14: note: in expansion of macro 'GET_BDA' 226 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:227:5: note: in expansion of macro 'SET_BDA' 227 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:235:15: note: in expansion of macro 'GET_BDA' 235 | frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:243:5: note: in expansion of macro 'SET_BDA' 243 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_drive_pio': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:372:5: note: in expansion of macro 'SET_BDA' 372 | SET_BDA(floppy_motor_counter, 255); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:387:5: note: in expansion of macro 'SET_BDA' 387 | SET_BDA(floppy_motor_counter, FLOPPY_MOTOR_TICKS); // reset motor timeout | ^~~~~~~ src/hw/floppy.c: In function 'floppy_prep': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:494:11: note: in expansion of macro 'GET_BDA' 494 | if (!(GET_BDA(floppy_recalibration_status) & (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:414:5: note: in expansion of macro 'SET_BDA' 414 | SET_BDA(floppy_recalibration_status, frs | (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:478:5: note: in expansion of macro 'SET_BDA' 478 | SET_BDA(floppy_last_data_rate, (old_data_rate<<2) | (data_rate<<6)); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_setup': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'floppy_reset', inlined from 'floppy_process_op' at src/hw/floppy.c:691:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:594:5: note: in expansion of macro 'SET_BDA' 594 | SET_BDA(floppy_recalibration_status, 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:595:5: note: in expansion of macro 'SET_BDA' 595 | SET_BDA(floppy_media_state[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:596:5: note: in expansion of macro 'SET_BDA' 596 | SET_BDA(floppy_media_state[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:597:5: note: in expansion of macro 'SET_BDA' 597 | SET_BDA(floppy_track[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:598:5: note: in expansion of macro 'SET_BDA' 598 | SET_BDA(floppy_track[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:599:5: note: in expansion of macro 'SET_BDA' 599 | SET_BDA(floppy_last_data_rate, 0); | ^~~~~~~ src/hw/floppy.c: In function 'handle_0e': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:719:14: note: in expansion of macro 'GET_BDA' 719 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:720:5: note: in expansion of macro 'SET_BDA' 720 | SET_BDA(floppy_recalibration_status, frs | FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_tick': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:733:17: note: in expansion of macro 'GET_BDA' 733 | u8 fcount = GET_BDA(floppy_motor_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:736:9: note: in expansion of macro 'SET_BDA' 736 | SET_BDA(floppy_motor_counter, fcount); | ^~~~~~~ Compile checking out/src/hw/ata.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ata.c -o out/src/hw/ata.o In file included from src/biosvar.h:10, from src/hw/ata.c:9: src/hw/ata.c: In function 'ata_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ Compile checking out/src/hw/ramdisk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ramdisk.c -o out/src/hw/ramdisk.o Compile checking out/src/hw/lsi-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/lsi-scsi.c -o out/src/hw/lsi-scsi.o Compile checking out/src/hw/esp-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/esp-scsi.c -o out/src/hw/esp-scsi.o Compile checking out/src/hw/megasas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/megasas.c -o out/src/hw/megasas.o Compile checking out/src/hw/mpt-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/mpt-scsi.c -o out/src/hw/mpt-scsi.o Compile checking out/src/post.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/post.c -o out/src/post.o In file included from src/biosvar.h:10, from src/post.c:8: In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'bda_init' at src/post.c:91:46, inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/e820map.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/e820map.c -o out/src/e820map.o Compile checking out/src/malloc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/malloc.c -o out/src/malloc.o In file included from src/biosvar.h:10, from src/malloc.c:7: src/malloc.c: In function 'malloc_prepboot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ Compile checking out/src/romfile.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/romfile.c -o out/src/romfile.o Compile checking out/src/x86.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/x86.c -o out/src/x86.o Compile checking out/src/optionroms.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/optionroms.c -o out/src/optionroms.o In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:344:28: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:348:9: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In file included from src/optionroms.c:10: In function 'boot_irq_restore', inlined from 'init_pcirom' at src/optionroms.c:354:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ Compile checking out/src/pmm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pmm.c -o out/src/pmm.o Compile checking out/src/font.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/font.c -o out/src/font.o Compile checking out/src/boot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/boot.c -o out/src/boot.o Compile checking out/src/bootsplash.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bootsplash.c -o out/src/bootsplash.o Compile checking out/src/jpeg.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/jpeg.c -o out/src/jpeg.o Compile checking out/src/bmp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bmp.c -o out/src/bmp.o Compile checking out/src/tcgbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/tcgbios.c -o out/src/tcgbios.o Compile checking out/src/sha1.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha1.c -o out/src/sha1.o Compile checking out/src/hw/pcidevice.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pcidevice.c -o out/src/hw/pcidevice.o Compile checking out/src/hw/ahci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ahci.c -o out/src/hw/ahci.o Compile checking out/src/hw/pvscsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pvscsi.c -o out/src/hw/pvscsi.o Compile checking out/src/hw/usb-xhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-xhci.c -o out/src/hw/usb-xhci.o Compile checking out/src/hw/usb-hub.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hub.c -o out/src/hw/usb-hub.o Compile checking out/src/hw/sdcard.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/sdcard.c -o out/src/hw/sdcard.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/src/fw/lzmadecode.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/lzmadecode.c -o out/src/fw/lzmadecode.o Compile checking out/src/fw/multiboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/multiboot.c -o out/src/fw/multiboot.o Compile checking out/src/fw/csm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/csm.c -o out/src/fw/csm.o Compile checking out/src/fw/biostables.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/biostables.c -o out/src/fw/biostables.o Compile checking out/src/fw/paravirt.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/paravirt.c -o out/src/fw/paravirt.o Compile checking out/src/fw/shadow.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/shadow.c -o out/src/fw/shadow.o Compile checking out/src/fw/pciinit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pciinit.c -o out/src/fw/pciinit.o Compile checking out/src/fw/smm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smm.c -o out/src/fw/smm.o Compile checking out/src/fw/smp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smp.c -o out/src/fw/smp.o Compile checking out/src/fw/mtrr.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mtrr.c -o out/src/fw/mtrr.o Compile checking out/src/fw/xen.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/xen.c -o out/src/fw/xen.o Compile checking out/src/fw/acpi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/acpi.c -o out/src/fw/acpi.o Compile checking out/src/fw/mptable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mptable.c -o out/src/fw/mptable.o Compile checking out/src/fw/pirtable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pirtable.c -o out/src/fw/pirtable.o Compile checking out/src/fw/smbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smbios.c -o out/src/fw/smbios.o Compile checking out/src/fw/romfile_loader.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/romfile_loader.c -o out/src/fw/romfile_loader.o Compile checking out/src/fw/dsdt_parser.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/dsdt_parser.c -o out/src/fw/dsdt_parser.o Compile checking out/src/hw/virtio-ring.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-ring.c -o out/src/hw/virtio-ring.o Compile checking out/src/hw/virtio-pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-pci.c -o out/src/hw/virtio-pci.o Compile checking out/src/hw/virtio-mmio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-mmio.c -o out/src/hw/virtio-mmio.o Compile checking out/src/hw/virtio-blk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-blk.c -o out/src/hw/virtio-blk.o Compile checking out/src/hw/virtio-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-scsi.c -o out/src/hw/virtio-scsi.o Compile checking out/src/hw/tpm_drivers.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/tpm_drivers.c -o out/src/hw/tpm_drivers.o Compile checking out/src/hw/nvme.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/nvme.c -o out/src/hw/nvme.o Compile checking out/src/sha256.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha256.c -o out/src/sha256.o Compile checking out/src/sha512.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha512.c -o out/src/sha512.o Compiling whole program out/ccode32flat.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n #include "src/post.c"\n #include "src/e820map.c"\n #include "src/malloc.c"\n #include "src/romfile.c"\n #include "src/x86.c"\n #include "src/optionroms.c"\n #include "src/pmm.c"\n #include "src/font.c"\n #include "src/boot.c"\n #include "src/bootsplash.c"\n #include "src/jpeg.c"\n #include "src/bmp.c"\n #include "src/tcgbios.c"\n #include "src/sha1.c"\n #include "src/hw/pcidevice.c"\n #include "src/hw/ahci.c"\n #include "src/hw/pvscsi.c"\n #include "src/hw/usb-xhci.c"\n #include "src/hw/usb-hub.c"\n #include "src/hw/sdcard.c"\n #include "src/fw/coreboot.c"\n #include "src/fw/lzmadecode.c"\n #include "src/fw/multiboot.c"\n #include "src/fw/csm.c"\n #include "src/fw/biostables.c"\n #include "src/fw/paravirt.c"\n #include "src/fw/shadow.c"\n #include "src/fw/pciinit.c"\n #include "src/fw/smm.c"\n #include "src/fw/smp.c"\n #include "src/fw/mtrr.c"\n #include "src/fw/xen.c"\n #include "src/fw/acpi.c"\n #include "src/fw/mptable.c"\n #include "src/fw/pirtable.c"\n #include "src/fw/smbios.c"\n #include "src/fw/romfile_loader.c"\n #include "src/fw/dsdt_parser.c"\n #include "src/hw/virtio-ring.c"\n #include "src/hw/virtio-pci.c"\n #include "src/hw/virtio-mmio.c"\n #include "src/hw/virtio-blk.c"\n #include "src/hw/virtio-scsi.c"\n #include "src/hw/tpm_drivers.c"\n #include "src/hw/nvme.c"\n #include "src/sha256.c"\n #include "src/sha512.c"\n' > out/ccode32flat.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -fwhole-program -DWHOLE_PROGRAM -c out/ccode32flat.o.tmp.c -o out/ccode32flat.o In file included from ./src/biosvar.h:10, from ./src/misc.c:8, from out/ccode32flat.o.tmp.c:1: In function 'irqtimer_calc_ticks', inlined from 'irqtimer_calc' at ./src/clock.c:356:12, inlined from 'irqtimer_calc' at ./src/clock.c:352:1: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ ./src/clock.c: In function 'irqtimer_calc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ ./src/output.c: In function 'screenc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ ./src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ In function 'irqtimer_check', inlined from 'get_keystroke_full' at ./src/boot.c:661:13: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'irqtimer_check', inlined from 'boot_fail' at ./src/boot.c:974:41: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at ./src/post.c:114:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'bda_init' at ./src/post.c:91:46, inlined from 'interface_init' at ./src/post.c:114:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'kbd_init', inlined from 'interface_init' at ./src/post.c:121:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mouse_init' at ./src/mouse.c:23:5, inlined from 'interface_init' at ./src/post.c:122:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:47: In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:344:28: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:348:9: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_restore', inlined from 'init_pcirom' at ./src/optionroms.c:354:9: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ In function 'floppy_setup', inlined from 'block_setup' at ./src/block.c:510:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'ata_setup', inlined from 'block_setup' at ./src/block.c:511:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at ./src/serial.c:212:14, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at ./src/serial.c:217:5, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'serial_setup' at ./src/serial.c:56:5, inlined from 'device_hardware_setup' at ./src/post.c:133:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at ./src/misc.c:66:5, inlined from 'platform_hardware_setup' at ./src/post.c:146:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'clock_setup', inlined from 'platform_hardware_setup' at ./src/post.c:154:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ ./src/cdrom.c: In function 'cdrom_boot': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at ./src/cdrom.c:242:9: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:12: In function 'sercon_setup', inlined from 'maininit' at ./src/post.c:211:5: ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ In function 'irqtimer_check', inlined from 'interactive_bootmenu' at ./src/boot.c:755:37, inlined from 'maininit' at ./src/post.c:224:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'malloc_prepboot', inlined from 'prepareboot' at ./src/post.c:172:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:5: In function 'map_hd_drive', inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ~~~^~~~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'fill_fdpt' at ./src/block.c:213:28, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:239:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:236:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:296:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:292:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compiling whole program out/code32seg.o printf '#include "src/string.c"\n #include "src/output.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/stacks.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n' > out/code32seg.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=0 -fwhole-program -DWHOLE_PROGRAM -c out/code32seg.o.tmp.c -o out/code32seg.o Compiling whole program out/ccode16.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n' > out/ccode16.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fwhole-program -DWHOLE_PROGRAM -c out/ccode16.o.tmp.c -o out/ccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/romlayout.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ src/romlayout.S -o out/romlayout.o Building ld scripts python3 ./scripts/buildversion.py -e "-2.fc38" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autoversion.h Version: 1.16.1-2.fc38 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/version.c -o out/version.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode32flat.o out/version.o -o out/code32flat.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode16.o out/romlayout.o -o out/code16.o x86_64-linux-gnu-objdump -thr out/code32flat.o > out/code32flat.o.objdump x86_64-linux-gnu-objdump -thr out/code32seg.o > out/code32seg.o.objdump x86_64-linux-gnu-objdump -thr out/code16.o > out/code16.o.objdump python3 ./scripts/layoutrom.py out/code16.o.objdump out/code32seg.o.objdump out/code32flat.o.objdump out/autoconf.h out/romlayout16.lds out/romlayout32seg.lds out/romlayout32flat.lds Fixed space: 0xe05b-0x10000 total: 8101 slack: 15 Percent slack: 0.2% 16bit size: 38176 32bit segmented size: 2297 32bit flat size: 50871 32bit flat init size: 85056 Lowmem size: 2240 f-segment var size: 1232 Linking out/rom16.o x86_64-linux-gnu-ld -T out/romlayout16.lds out/code16.o -o out/rom16.o Stripping out/rom16.noexec.o x86_64-linux-gnu-strip out/rom16.o -o out/rom16.o.strip.o python3 ./scripts/ldnoexec.py out/rom16.o.strip.o out/rom16.noexec.o Linking out/rom32seg.o x86_64-linux-gnu-ld -T out/romlayout32seg.lds out/code32seg.o -o out/rom32seg.o Stripping out/rom32seg.noexec.o x86_64-linux-gnu-strip out/rom32seg.o -o out/rom32seg.o.strip.o python3 ./scripts/ldnoexec.py out/rom32seg.o.strip.o out/rom32seg.noexec.o Linking out/rom.o x86_64-linux-gnu-ld -N -T out/romlayout32flat.lds out/rom16.noexec.o out/rom32seg.noexec.o out/code32flat.o -o out/rom.o Prepping out/bios.bin.prep rm -f out/bios.bin out/Csm16.bin out/bios.bin.elf x86_64-linux-gnu-objdump -thr out/rom.o > out/rom.o.objdump x86_64-linux-gnu-objcopy -O binary out/rom.o out/bios.bin.raw python3 ./scripts/checkrom.py out/rom.o.objdump 256 out/bios.bin.raw out/bios.bin.prep Total size: 186208 Fixed: 92576 Free: 75936 (used 71.0% of 256KiB rom) Creating out/bios.bin cp out/bios.bin.prep out/bios.bin + cp out/bios.bin binaries/bios-256k.bin + build_bios /builddir/build/SOURCES/config.csm Csm16.bin bios-csm.bin + make clean distclean + cp /builddir/build/SOURCES/config.csm .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.1/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' + make V=1 EXTRAVERSION=-2.fc38 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' Compile checking out/src/misc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/misc.c -o out/src/misc.o In file included from src/biosvar.h:10, from src/misc.c:8: src/misc.c: In function 'handle_12': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:36:16: note: in expansion of macro 'GET_BDA' 36 | regs->ax = GET_BDA(mem_size_kb); | ^~~~~~~ src/misc.c: In function 'handle_11': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:44:16: note: in expansion of macro 'GET_BDA' 44 | regs->ax = GET_BDA(equipment_list_flags); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at src/misc.c:66:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/stacks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/stacks.c -o out/src/stacks.o Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/block.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/block.c -o out/src/block.o src/block.c: In function 'map_hd_drive': src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ^~ In file included from src/biosvar.h:10, from src/block.c:8: In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'fill_fdpt' at src/block.c:213:28, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:239:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:236:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:296:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:292:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compile checking out/src/cdrom.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cdrom.c -o out/src/cdrom.o In file included from src/biosvar.h:10, from src/cdrom.c:8: src/cdrom.c: In function 'cdrom_boot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at src/cdrom.c:242:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/disk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/disk.c -o out/src/disk.o In file included from src/biosvar.h:10, from src/disk.c:8: src/disk.c: In function '__disk_ret_unimplemented': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:45:9: note: in expansion of macro 'SET_BDA' 45 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:43:9: note: in expansion of macro 'SET_BDA' 43 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function '__disk_ret': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:31:9: note: in expansion of macro 'SET_BDA' 31 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:29:9: note: in expansion of macro 'SET_BDA' 29 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function 'disk_1308': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/disk.c:297:17: note: in expansion of macro 'GET_BDA' 297 | count = GET_BDA(hdcount); | ^~~~~~~ src/disk.c: In function 'disk_13': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:626:5: note: in expansion of macro 'SET_BDA' 626 | SET_BDA(disk_interrupt_flag, 0); | ^~~~~~~ In function 'disk_1301', inlined from 'disk_13' at src/disk.c:630:16: src/disk.c:218:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 218 | v = GET_BDA(disk_last_status); src/disk.c:216:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 216 | v = GET_BDA(floppy_last_status); src/disk.c: In function 'handle_76': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:777:5: note: in expansion of macro 'SET_BDA' 777 | SET_BDA(disk_interrupt_flag, 0xff); | ^~~~~~~ Compile checking out/src/mouse.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/mouse.c -o out/src/mouse.o In file included from src/mouse.c:8: In function 'set_equipment_flags', inlined from 'mouse_init' at src/mouse.c:23:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c207' at src/mouse.c:231:20, inlined from 'handle_15c2' at src/mouse.c:272:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c205' at src/mouse.c:162:20, inlined from 'handle_15c2' at src/mouse.c:270:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c20001' at src/mouse.c:56:20, inlined from 'mouse_15c200' at src/mouse.c:82:16, inlined from 'handle_15c2' at src/mouse.c:265:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'process_mouse' at src/mouse.c:322:20: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/kbd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/kbd.c -o out/src/kbd.o In file included from src/biosvar.h:10, from src/kbd.c:8: src/kbd.c: In function 'kbd_set_flag': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:397:18: note: in expansion of macro 'GET_BDA' 397 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:398:17: note: in expansion of macro 'GET_BDA' 398 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:407:5: note: in expansion of macro 'SET_BDA' 407 | SET_BDA(kbd_flag0, flags0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:408:5: note: in expansion of macro 'SET_BDA' 408 | SET_BDA(kbd_flag1, flags1); | ^~~~~~~ src/kbd.c: In function 'set_leds': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:230:23: note: in expansion of macro 'GET_BDA' 230 | u8 shift_flags = (GET_BDA(kbd_flag0) >> 4) & 0x07; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:231:18: note: in expansion of macro 'GET_BDA' 231 | u8 kbd_led = GET_BDA(kbd_led); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:241:5: note: in expansion of macro 'SET_BDA' 241 | SET_BDA(kbd_led, kbd_led); | ^~~~~~~ src/kbd.c: In function 'dequeue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:61:23: note: in expansion of macro 'GET_BDA' 61 | buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:62:23: note: in expansion of macro 'GET_BDA' 62 | buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:98:24: note: in expansion of macro 'GET_BDA' 98 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:99:24: note: in expansion of macro 'GET_BDA' 99 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:104:5: note: in expansion of macro 'SET_BDA' 104 | SET_BDA(kbd_buf_head, buffer_head); | ^~~~~~~ src/kbd.c: In function 'kbd_init': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ src/kbd.c: In function 'enqueue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:35:24: note: in expansion of macro 'GET_BDA' 35 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:36:24: note: in expansion of macro 'GET_BDA' 36 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:38:23: note: in expansion of macro 'GET_BDA' 38 | u16 buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:39:23: note: in expansion of macro 'GET_BDA' 39 | u16 buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:50:5: note: in expansion of macro 'SET_BDA' 50 | SET_BDA(kbd_buf_tail, buffer_tail); | ^~~~~~~ In function 'handle_1612', inlined from 'handle_16' at src/kbd.c:264:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:193:18: note: in expansion of macro 'GET_BDA' 193 | regs->ax = ((GET_BDA(kbd_flag0) & ~((KF1_RCTRL|KF1_RALT) << 8)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:194:21: note: in expansion of macro 'GET_BDA' 194 | | ((GET_BDA(kbd_flag1) & (KF1_RCTRL|KF1_RALT)) << 8)); | ^~~~~~~ In function 'handle_1602', inlined from 'handle_16' at src/kbd.c:258:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:134:16: note: in expansion of macro 'GET_BDA' 134 | regs->al = GET_BDA(kbd_flag0); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:459:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 459 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:473:9: note: in expansion of macro 'SET_BDA' 473 | SET_BDA(kbd_flag1, flags1 & ~(KF1_LAST_E0|KF1_LAST_E1)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:529:14: note: in expansion of macro 'GET_BDA' 529 | if ((GET_BDA(kbd_flag0) & (KF0_CTRLACTIVE|KF0_ALTACTIVE)) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:532:13: note: in expansion of macro 'SET_BDA' 532 | SET_BDA(soft_reset_flag, 0x1234); | ^~~~~~~ In function 'kbd_ctrl_break', inlined from '__process_key' at src/kbd.c:513:13, inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:417:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 417 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:418:5: note: in expansion of macro 'SET_BDA' 418 | SET_BDA(kbd_buf_head, buffer_start); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:419:5: note: in expansion of macro 'SET_BDA' 419 | SET_BDA(kbd_buf_tail, buffer_start+2); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:422:5: note: in expansion of macro 'SET_BDA' 422 | SET_BDA(break_flag, 0x80); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:552:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 552 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:463:9: note: in expansion of macro 'SET_BDA' 463 | SET_BDA(kbd_flag1, flags1 | eflag); | ^~~~~~~ Compile checking out/src/system.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/system.c -o out/src/system.o In file included from src/biosvar.h:10, from src/system.c:8: In function 'get_ebda_seg', inlined from 'handle_15c1' at src/system.c:255:16, inlined from 'handle_15' at src/system.c:352:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/serial.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/serial.c -o out/src/serial.o In file included from src/serial.c:8: In function 'set_equipment_flags', inlined from 'serial_setup' at src/serial.c:56:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at src/serial.c:212:14: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at src/serial.c:217:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/sercon.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sercon.c -o out/src/sercon.o In file included from src/biosvar.h:10, from src/sercon.c:7: In function 'cursor_pos_set', inlined from 'sercon_cursor_pos_set' at src/sercon.c:190:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_lf' at src/sercon.c:270:11: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_lazy_lf' at src/sercon.c:271:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cursor_sync' at src/sercon.c:198:14, inlined from 'sercon_lazy_flush' at src/sercon.c:236:5: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_putchar' at src/sercon.c:296:9: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:285:11, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_cols', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:286:16, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_100f', inlined from 'handle_sercon' at src/sercon.c:505:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:456:16: note: in expansion of macro 'GET_BDA' 456 | regs->al = GET_BDA(video_mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:457:16: note: in expansion of macro 'GET_BDA' 457 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cr' at src/sercon.c:263:27, inlined from 'sercon_100e' at src/sercon.c:442:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_backspace' at src/sercon.c:254:11, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_backspace' at src/sercon.c:257:35, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1009' at src/sercon.c:411:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1009' at src/sercon.c:411:31, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1009' at src/sercon.c:412:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1009' at src/sercon.c:427:33, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1006' at src/sercon.c:384:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1006' at src/sercon.c:385:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_1003', inlined from 'handle_sercon' at src/sercon.c:500:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:371:16: note: in expansion of macro 'GET_BDA' 371 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1003' at src/sercon.c:372:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1003' at src/sercon.c:373:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'sercon_1001', inlined from 'handle_sercon' at src/sercon.c:498:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:359:5: note: in expansion of macro 'SET_BDA' 359 | SET_BDA(cursor_type, regs->cx); | ^~~~~~~ In function 'cursor_pos_set', inlined from 'sercon_1000' at src/sercon.c:335:9, inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'sercon_1000', inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:336:9: note: in expansion of macro 'SET_BDA' 336 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:337:9: note: in expansion of macro 'SET_BDA' 337 | SET_BDA(video_cols, cols); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:338:9: note: in expansion of macro 'SET_BDA' 338 | SET_BDA(video_rows, rows-1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:339:9: note: in expansion of macro 'SET_BDA' 339 | SET_BDA(cursor_type, 0x0007); | ^~~~~~~ src/sercon.c: In function 'sercon_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/sercon.c:528:15: note: in expansion of macro 'GET_IVT' 528 | vgabios = GET_IVT(0x10); | ^~~~~~~ src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ Compile checking out/src/clock.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/clock.c -o out/src/clock.o In file included from src/biosvar.h:10, from src/clock.c:8: src/clock.c: In function 'clear_usertimer': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:389:11: note: in expansion of macro 'GET_BDA' 389 | if (!(GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING)) | ^~~~~~~ In function 'clear_usertimer', inlined from 'clear_usertimer' at src/clock.c:387:1: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:392:5: note: in expansion of macro 'SET_BDA' 392 | SET_BDA(rtc_wait_flag, 0); | ^~~~~~~ src/clock.c: In function 'clock_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In function 'handle_1a01', inlined from 'handle_1a' at src/clock.c:268:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(timer_counter, ticks); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:87:5: note: in expansion of macro 'SET_BDA' 87 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'handle_1a00', inlined from 'handle_1a' at src/clock.c:267:16: src/clock.c:73:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 73 | u32 ticks = GET_BDA(timer_counter); | ^~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:76:16: note: in expansion of macro 'GET_BDA' 76 | regs->al = GET_BDA(timer_rollover); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:77:5: note: in expansion of macro 'SET_BDA' 77 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'clock_update', inlined from 'handle_08' at src/clock.c:306:5: src/clock.c:284:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 284 | u32 counter = GET_BDA(timer_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:290:33: note: in expansion of macro 'GET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:292:5: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(timer_counter, counter); | ^~~~~~~ src/clock.c: In function 'handle_08': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/clock.c:312:29: note: in expansion of macro 'GET_IVT' 312 | struct segoff_s isr1c = GET_IVT(0x1c); | ^~~~~~~ src/clock.c: In function 'irqtimer_calc_ticks': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ src/clock.c: In function 'irqtimer_calc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ src/clock.c: In function 'irqtimer_check': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_1586' at src/clock.c:409:15: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:375:9: note: in expansion of macro 'GET_BDA' 375 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:379:5: note: in expansion of macro 'SET_BDA' 379 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:381:5: note: in expansion of macro 'SET_BDA' 381 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_158300' at src/clock.c:423:15, inlined from 'handle_1583' at src/clock.c:454:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:375:9: note: in expansion of macro 'GET_BDA' 375 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:379:5: note: in expansion of macro 'SET_BDA' 379 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:381:5: note: in expansion of macro 'SET_BDA' 381 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ src/clock.c: In function 'handle_70': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:490:10: note: in expansion of macro 'GET_BDA' 490 | if (!GET_BDA(rtc_wait_flag)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:494:16: note: in expansion of macro 'GET_BDA' 494 | u32 time = GET_BDA(user_wait_timeout); // Time left in microseconds. | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:507:9: note: in expansion of macro 'SET_BDA' 507 | SET_BDA(user_wait_timeout, time); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:497:34: note: in expansion of macro 'GET_BDA' 497 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:497:34: note: in expansion of macro 'GET_BDA' 497 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ Compile checking out/src/resume.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/resume.c -o out/src/resume.o Compile checking out/src/pnpbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pnpbios.c -o out/src/pnpbios.o Compile checking out/src/vgahooks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/vgahooks.c -o out/src/vgahooks.o Compile checking out/src/pcibios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pcibios.c -o out/src/pcibios.o Compile checking out/src/apm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/apm.c -o out/src/apm.o Compile checking out/src/cp437.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cp437.c -o out/src/cp437.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/timer.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/timer.c -o out/src/hw/timer.o Compile checking out/src/hw/rtc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/rtc.c -o out/src/hw/rtc.o Compile checking out/src/hw/dma.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/dma.c -o out/src/hw/dma.o Compile checking out/src/hw/pic.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pic.c -o out/src/hw/pic.o Compile checking out/src/hw/ps2port.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ps2port.c -o out/src/hw/ps2port.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/src/hw/usb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb.c -o out/src/hw/usb.o Compile checking out/src/hw/usb-uhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uhci.c -o out/src/hw/usb-uhci.o Compile checking out/src/hw/usb-ohci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ohci.c -o out/src/hw/usb-ohci.o Compile checking out/src/hw/usb-ehci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ehci.c -o out/src/hw/usb-ehci.o Compile checking out/src/hw/usb-hid.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hid.c -o out/src/hw/usb-hid.o Compile checking out/src/hw/usb-msc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-msc.c -o out/src/hw/usb-msc.o Compile checking out/src/hw/usb-uas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uas.c -o out/src/hw/usb-uas.o Compile checking out/src/hw/blockcmd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/blockcmd.c -o out/src/hw/blockcmd.o Compile checking out/src/hw/floppy.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/floppy.c -o out/src/hw/floppy.o In file included from src/biosvar.h:10, from src/hw/floppy.c:8: src/hw/floppy.c: In function 'floppy_wait_irq': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:226:14: note: in expansion of macro 'GET_BDA' 226 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:227:5: note: in expansion of macro 'SET_BDA' 227 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:235:15: note: in expansion of macro 'GET_BDA' 235 | frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:243:5: note: in expansion of macro 'SET_BDA' 243 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_drive_pio': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:372:5: note: in expansion of macro 'SET_BDA' 372 | SET_BDA(floppy_motor_counter, 255); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:387:5: note: in expansion of macro 'SET_BDA' 387 | SET_BDA(floppy_motor_counter, FLOPPY_MOTOR_TICKS); // reset motor timeout | ^~~~~~~ src/hw/floppy.c: In function 'floppy_prep': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:494:11: note: in expansion of macro 'GET_BDA' 494 | if (!(GET_BDA(floppy_recalibration_status) & (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:414:5: note: in expansion of macro 'SET_BDA' 414 | SET_BDA(floppy_recalibration_status, frs | (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:478:5: note: in expansion of macro 'SET_BDA' 478 | SET_BDA(floppy_last_data_rate, (old_data_rate<<2) | (data_rate<<6)); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_setup': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'floppy_reset', inlined from 'floppy_process_op' at src/hw/floppy.c:691:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:594:5: note: in expansion of macro 'SET_BDA' 594 | SET_BDA(floppy_recalibration_status, 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:595:5: note: in expansion of macro 'SET_BDA' 595 | SET_BDA(floppy_media_state[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:596:5: note: in expansion of macro 'SET_BDA' 596 | SET_BDA(floppy_media_state[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:597:5: note: in expansion of macro 'SET_BDA' 597 | SET_BDA(floppy_track[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:598:5: note: in expansion of macro 'SET_BDA' 598 | SET_BDA(floppy_track[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:599:5: note: in expansion of macro 'SET_BDA' 599 | SET_BDA(floppy_last_data_rate, 0); | ^~~~~~~ src/hw/floppy.c: In function 'handle_0e': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:719:14: note: in expansion of macro 'GET_BDA' 719 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:720:5: note: in expansion of macro 'SET_BDA' 720 | SET_BDA(floppy_recalibration_status, frs | FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_tick': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:733:17: note: in expansion of macro 'GET_BDA' 733 | u8 fcount = GET_BDA(floppy_motor_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:736:9: note: in expansion of macro 'SET_BDA' 736 | SET_BDA(floppy_motor_counter, fcount); | ^~~~~~~ Compile checking out/src/hw/ata.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ata.c -o out/src/hw/ata.o In file included from src/biosvar.h:10, from src/hw/ata.c:9: src/hw/ata.c: In function 'ata_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ Compile checking out/src/hw/ramdisk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ramdisk.c -o out/src/hw/ramdisk.o Compile checking out/src/hw/lsi-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/lsi-scsi.c -o out/src/hw/lsi-scsi.o Compile checking out/src/hw/esp-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/esp-scsi.c -o out/src/hw/esp-scsi.o Compile checking out/src/hw/megasas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/megasas.c -o out/src/hw/megasas.o Compile checking out/src/hw/mpt-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/mpt-scsi.c -o out/src/hw/mpt-scsi.o Compile checking out/src/post.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/post.c -o out/src/post.o In file included from src/biosvar.h:10, from src/post.c:8: In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'bda_init' at src/post.c:91:46, inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/e820map.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/e820map.c -o out/src/e820map.o Compile checking out/src/malloc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/malloc.c -o out/src/malloc.o In file included from src/biosvar.h:10, from src/malloc.c:7: src/malloc.c: In function 'malloc_prepboot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ Compile checking out/src/romfile.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/romfile.c -o out/src/romfile.o Compile checking out/src/x86.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/x86.c -o out/src/x86.o Compile checking out/src/optionroms.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/optionroms.c -o out/src/optionroms.o In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:344:28: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:348:9: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In file included from src/optionroms.c:10: In function 'boot_irq_restore', inlined from 'init_pcirom' at src/optionroms.c:354:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ Compile checking out/src/pmm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pmm.c -o out/src/pmm.o Compile checking out/src/font.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/font.c -o out/src/font.o Compile checking out/src/boot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/boot.c -o out/src/boot.o Compile checking out/src/bootsplash.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bootsplash.c -o out/src/bootsplash.o Compile checking out/src/jpeg.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/jpeg.c -o out/src/jpeg.o Compile checking out/src/bmp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bmp.c -o out/src/bmp.o Compile checking out/src/tcgbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/tcgbios.c -o out/src/tcgbios.o Compile checking out/src/sha1.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha1.c -o out/src/sha1.o Compile checking out/src/hw/pcidevice.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pcidevice.c -o out/src/hw/pcidevice.o Compile checking out/src/hw/ahci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ahci.c -o out/src/hw/ahci.o Compile checking out/src/hw/pvscsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pvscsi.c -o out/src/hw/pvscsi.o Compile checking out/src/hw/usb-xhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-xhci.c -o out/src/hw/usb-xhci.o Compile checking out/src/hw/usb-hub.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hub.c -o out/src/hw/usb-hub.o Compile checking out/src/hw/sdcard.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/sdcard.c -o out/src/hw/sdcard.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/src/fw/lzmadecode.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/lzmadecode.c -o out/src/fw/lzmadecode.o Compile checking out/src/fw/multiboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/multiboot.c -o out/src/fw/multiboot.o Compile checking out/src/fw/csm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/csm.c -o out/src/fw/csm.o In function 'handle_csm_0002', inlined from 'handle_csm' at src/fw/csm.c:309:16: src/fw/csm.c:185:18: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 185 | bda->hdcount = 0; | ~~~~~~~~~~~~~^~~ Compile checking out/src/fw/biostables.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/biostables.c -o out/src/fw/biostables.o Compile checking out/src/fw/paravirt.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/paravirt.c -o out/src/fw/paravirt.o Compile checking out/src/fw/shadow.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/shadow.c -o out/src/fw/shadow.o Compile checking out/src/fw/pciinit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pciinit.c -o out/src/fw/pciinit.o Compile checking out/src/fw/smm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smm.c -o out/src/fw/smm.o Compile checking out/src/fw/smp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smp.c -o out/src/fw/smp.o Compile checking out/src/fw/mtrr.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mtrr.c -o out/src/fw/mtrr.o Compile checking out/src/fw/xen.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/xen.c -o out/src/fw/xen.o Compile checking out/src/fw/acpi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/acpi.c -o out/src/fw/acpi.o Compile checking out/src/fw/mptable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mptable.c -o out/src/fw/mptable.o Compile checking out/src/fw/pirtable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pirtable.c -o out/src/fw/pirtable.o Compile checking out/src/fw/smbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smbios.c -o out/src/fw/smbios.o Compile checking out/src/fw/romfile_loader.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/romfile_loader.c -o out/src/fw/romfile_loader.o Compile checking out/src/fw/dsdt_parser.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/dsdt_parser.c -o out/src/fw/dsdt_parser.o Compile checking out/src/hw/virtio-ring.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-ring.c -o out/src/hw/virtio-ring.o Compile checking out/src/hw/virtio-pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-pci.c -o out/src/hw/virtio-pci.o Compile checking out/src/hw/virtio-mmio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-mmio.c -o out/src/hw/virtio-mmio.o Compile checking out/src/hw/virtio-blk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-blk.c -o out/src/hw/virtio-blk.o Compile checking out/src/hw/virtio-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-scsi.c -o out/src/hw/virtio-scsi.o Compile checking out/src/hw/tpm_drivers.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/tpm_drivers.c -o out/src/hw/tpm_drivers.o Compile checking out/src/hw/nvme.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/nvme.c -o out/src/hw/nvme.o Compile checking out/src/sha256.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha256.c -o out/src/sha256.o Compile checking out/src/sha512.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha512.c -o out/src/sha512.o Compiling whole program out/ccode32flat.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n #include "src/post.c"\n #include "src/e820map.c"\n #include "src/malloc.c"\n #include "src/romfile.c"\n #include "src/x86.c"\n #include "src/optionroms.c"\n #include "src/pmm.c"\n #include "src/font.c"\n #include "src/boot.c"\n #include "src/bootsplash.c"\n #include "src/jpeg.c"\n #include "src/bmp.c"\n #include "src/tcgbios.c"\n #include "src/sha1.c"\n #include "src/hw/pcidevice.c"\n #include "src/hw/ahci.c"\n #include "src/hw/pvscsi.c"\n #include "src/hw/usb-xhci.c"\n #include "src/hw/usb-hub.c"\n #include "src/hw/sdcard.c"\n #include "src/fw/coreboot.c"\n #include "src/fw/lzmadecode.c"\n #include "src/fw/multiboot.c"\n #include "src/fw/csm.c"\n #include "src/fw/biostables.c"\n #include "src/fw/paravirt.c"\n #include "src/fw/shadow.c"\n #include "src/fw/pciinit.c"\n #include "src/fw/smm.c"\n #include "src/fw/smp.c"\n #include "src/fw/mtrr.c"\n #include "src/fw/xen.c"\n #include "src/fw/acpi.c"\n #include "src/fw/mptable.c"\n #include "src/fw/pirtable.c"\n #include "src/fw/smbios.c"\n #include "src/fw/romfile_loader.c"\n #include "src/fw/dsdt_parser.c"\n #include "src/hw/virtio-ring.c"\n #include "src/hw/virtio-pci.c"\n #include "src/hw/virtio-mmio.c"\n #include "src/hw/virtio-blk.c"\n #include "src/hw/virtio-scsi.c"\n #include "src/hw/tpm_drivers.c"\n #include "src/hw/nvme.c"\n #include "src/sha256.c"\n #include "src/sha512.c"\n' > out/ccode32flat.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -fwhole-program -DWHOLE_PROGRAM -c out/ccode32flat.o.tmp.c -o out/ccode32flat.o In file included from ./src/biosvar.h:10, from ./src/misc.c:8, from out/ccode32flat.o.tmp.c:1: In function 'irqtimer_calc_ticks', inlined from 'irqtimer_calc' at ./src/clock.c:356:12, inlined from 'irqtimer_calc' at ./src/clock.c:352:1: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ ./src/clock.c: In function 'irqtimer_calc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ ./src/clock.c: In function 'clock_setup': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ ./src/output.c: In function 'screenc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ ./src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ In function 'irqtimer_check', inlined from 'get_keystroke_full' at ./src/boot.c:661:13: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at ./src/post.c:114:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'bda_init' at ./src/post.c:91:46, inlined from 'interface_init' at ./src/post.c:114:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'kbd_init', inlined from 'interface_init' at ./src/post.c:121:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mouse_init' at ./src/mouse.c:23:5, inlined from 'interface_init' at ./src/post.c:122:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'irqtimer_check', inlined from 'boot_fail' at ./src/boot.c:974:41: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:47: In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:344:28: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:348:9: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_restore', inlined from 'init_pcirom' at ./src/optionroms.c:354:9: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ In function 'irqtimer_check', inlined from 'interactive_bootmenu' at ./src/boot.c:755:37: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'floppy_setup', inlined from 'block_setup' at ./src/block.c:510:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'ata_setup', inlined from 'block_setup' at ./src/block.c:511:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at ./src/serial.c:212:14, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at ./src/serial.c:217:5, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'serial_setup' at ./src/serial.c:56:5, inlined from 'device_hardware_setup' at ./src/post.c:133:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'malloc_prepboot', inlined from 'prepareboot' at ./src/post.c:172:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:5: In function 'map_hd_drive', inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ~~~^~~~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'fill_fdpt' at ./src/block.c:213:28, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:239:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:236:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:296:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:292:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at ./src/misc.c:66:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ ./src/cdrom.c: In function 'cdrom_boot': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at ./src/cdrom.c:242:9: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:12: In function 'sercon_setup', inlined from 'maininit' at ./src/post.c:211:5: ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:65: In function 'handle_csm_0002', inlined from 'handle_csm' at ./src/fw/csm.c:309:16: ./src/fw/csm.c:185:18: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 185 | bda->hdcount = 0; | ~~~~~~~~~~~~~^~~ Compiling whole program out/code32seg.o printf '#include "src/string.c"\n #include "src/output.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/stacks.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n' > out/code32seg.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=0 -fwhole-program -DWHOLE_PROGRAM -c out/code32seg.o.tmp.c -o out/code32seg.o Compiling whole program out/ccode16.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n' > out/ccode16.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fwhole-program -DWHOLE_PROGRAM -c out/ccode16.o.tmp.c -o out/ccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/romlayout.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ src/romlayout.S -o out/romlayout.o Building ld scripts python3 ./scripts/buildversion.py -e "-2.fc38" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autoversion.h Version: 1.16.1-2.fc38 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/version.c -o out/version.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode32flat.o out/version.o -o out/code32flat.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode16.o out/romlayout.o -o out/code16.o x86_64-linux-gnu-objdump -thr out/code32flat.o > out/code32flat.o.objdump x86_64-linux-gnu-objdump -thr out/code32seg.o > out/code32seg.o.objdump x86_64-linux-gnu-objdump -thr out/code16.o > out/code16.o.objdump python3 ./scripts/layoutrom.py out/code16.o.objdump out/code32seg.o.objdump out/code32flat.o.objdump out/autoconf.h out/romlayout16.lds out/romlayout32seg.lds out/romlayout32flat.lds Fixed space: 0xe05b-0x10000 total: 8101 slack: 16 Percent slack: 0.2% 16bit size: 36736 32bit segmented size: 2309 32bit flat size: 37771 32bit flat init size: 55424 Lowmem size: 2224 f-segment var size: 1392 Linking out/rom16.o x86_64-linux-gnu-ld -T out/romlayout16.lds out/code16.o -o out/rom16.o Stripping out/rom16.noexec.o x86_64-linux-gnu-strip out/rom16.o -o out/rom16.o.strip.o python3 ./scripts/ldnoexec.py out/rom16.o.strip.o out/rom16.noexec.o Linking out/rom32seg.o x86_64-linux-gnu-ld -T out/romlayout32seg.lds out/code32seg.o -o out/rom32seg.o Stripping out/rom32seg.noexec.o x86_64-linux-gnu-strip out/rom32seg.o -o out/rom32seg.o.strip.o python3 ./scripts/ldnoexec.py out/rom32seg.o.strip.o out/rom32seg.noexec.o Linking out/rom.o x86_64-linux-gnu-ld -N -T out/romlayout32flat.lds out/rom16.noexec.o out/rom32seg.noexec.o out/code32flat.o -o out/rom.o Prepping out/bios.bin.prep rm -f out/bios.bin out/Csm16.bin out/bios.bin.elf x86_64-linux-gnu-objdump -thr out/rom.o > out/rom.o.objdump x86_64-linux-gnu-objcopy -O binary out/rom.o out/bios.bin.raw python3 ./scripts/checkrom.py out/rom.o.objdump 0 out/bios.bin.raw out/bios.bin.prep Total size: 139872 Fixed: 78208 Free: 122272 (used 53.4% of 256KiB rom) Creating out/Csm16.bin cp out/bios.bin.prep out/Csm16.bin + cp out/Csm16.bin binaries/bios-csm.bin + build_bios /builddir/build/SOURCES/config.coreboot bios.bin.elf bios-coreboot.bin + make clean distclean + cp /builddir/build/SOURCES/config.coreboot .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.1/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' + make V=1 EXTRAVERSION=-2.fc38 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' Compile checking out/src/misc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/misc.c -o out/src/misc.o In file included from src/biosvar.h:10, from src/misc.c:8: src/misc.c: In function 'handle_12': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:36:16: note: in expansion of macro 'GET_BDA' 36 | regs->ax = GET_BDA(mem_size_kb); | ^~~~~~~ src/misc.c: In function 'handle_11': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:44:16: note: in expansion of macro 'GET_BDA' 44 | regs->ax = GET_BDA(equipment_list_flags); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at src/misc.c:66:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/stacks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/stacks.c -o out/src/stacks.o Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/block.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/block.c -o out/src/block.o src/block.c: In function 'map_hd_drive': src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ^~ In file included from src/biosvar.h:10, from src/block.c:8: In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'fill_fdpt' at src/block.c:213:28, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:239:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:236:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:296:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:292:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compile checking out/src/cdrom.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cdrom.c -o out/src/cdrom.o In file included from src/biosvar.h:10, from src/cdrom.c:8: src/cdrom.c: In function 'cdrom_boot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at src/cdrom.c:242:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/disk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/disk.c -o out/src/disk.o In file included from src/biosvar.h:10, from src/disk.c:8: src/disk.c: In function '__disk_ret_unimplemented': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:45:9: note: in expansion of macro 'SET_BDA' 45 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:43:9: note: in expansion of macro 'SET_BDA' 43 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function '__disk_ret': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:31:9: note: in expansion of macro 'SET_BDA' 31 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:29:9: note: in expansion of macro 'SET_BDA' 29 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function 'disk_1308': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/disk.c:297:17: note: in expansion of macro 'GET_BDA' 297 | count = GET_BDA(hdcount); | ^~~~~~~ src/disk.c: In function 'disk_13': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:626:5: note: in expansion of macro 'SET_BDA' 626 | SET_BDA(disk_interrupt_flag, 0); | ^~~~~~~ In function 'disk_1301', inlined from 'disk_13' at src/disk.c:630:16: src/disk.c:218:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 218 | v = GET_BDA(disk_last_status); src/disk.c:216:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 216 | v = GET_BDA(floppy_last_status); src/disk.c: In function 'handle_76': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:777:5: note: in expansion of macro 'SET_BDA' 777 | SET_BDA(disk_interrupt_flag, 0xff); | ^~~~~~~ Compile checking out/src/mouse.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/mouse.c -o out/src/mouse.o In file included from src/mouse.c:8: In function 'set_equipment_flags', inlined from 'mouse_init' at src/mouse.c:23:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c207' at src/mouse.c:231:20, inlined from 'handle_15c2' at src/mouse.c:272:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c205' at src/mouse.c:162:20, inlined from 'handle_15c2' at src/mouse.c:270:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c20001' at src/mouse.c:56:20, inlined from 'mouse_15c200' at src/mouse.c:82:16, inlined from 'handle_15c2' at src/mouse.c:265:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'process_mouse' at src/mouse.c:322:20: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/kbd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/kbd.c -o out/src/kbd.o In file included from src/biosvar.h:10, from src/kbd.c:8: src/kbd.c: In function 'kbd_set_flag': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:397:18: note: in expansion of macro 'GET_BDA' 397 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:398:17: note: in expansion of macro 'GET_BDA' 398 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:407:5: note: in expansion of macro 'SET_BDA' 407 | SET_BDA(kbd_flag0, flags0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:408:5: note: in expansion of macro 'SET_BDA' 408 | SET_BDA(kbd_flag1, flags1); | ^~~~~~~ src/kbd.c: In function 'set_leds': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:230:23: note: in expansion of macro 'GET_BDA' 230 | u8 shift_flags = (GET_BDA(kbd_flag0) >> 4) & 0x07; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:231:18: note: in expansion of macro 'GET_BDA' 231 | u8 kbd_led = GET_BDA(kbd_led); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:241:5: note: in expansion of macro 'SET_BDA' 241 | SET_BDA(kbd_led, kbd_led); | ^~~~~~~ src/kbd.c: In function 'dequeue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:61:23: note: in expansion of macro 'GET_BDA' 61 | buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:62:23: note: in expansion of macro 'GET_BDA' 62 | buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:98:24: note: in expansion of macro 'GET_BDA' 98 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:99:24: note: in expansion of macro 'GET_BDA' 99 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:104:5: note: in expansion of macro 'SET_BDA' 104 | SET_BDA(kbd_buf_head, buffer_head); | ^~~~~~~ src/kbd.c: In function 'kbd_init': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ src/kbd.c: In function 'enqueue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:35:24: note: in expansion of macro 'GET_BDA' 35 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:36:24: note: in expansion of macro 'GET_BDA' 36 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:38:23: note: in expansion of macro 'GET_BDA' 38 | u16 buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:39:23: note: in expansion of macro 'GET_BDA' 39 | u16 buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:50:5: note: in expansion of macro 'SET_BDA' 50 | SET_BDA(kbd_buf_tail, buffer_tail); | ^~~~~~~ In function 'handle_1612', inlined from 'handle_16' at src/kbd.c:264:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:193:18: note: in expansion of macro 'GET_BDA' 193 | regs->ax = ((GET_BDA(kbd_flag0) & ~((KF1_RCTRL|KF1_RALT) << 8)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:194:21: note: in expansion of macro 'GET_BDA' 194 | | ((GET_BDA(kbd_flag1) & (KF1_RCTRL|KF1_RALT)) << 8)); | ^~~~~~~ In function 'handle_1602', inlined from 'handle_16' at src/kbd.c:258:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:134:16: note: in expansion of macro 'GET_BDA' 134 | regs->al = GET_BDA(kbd_flag0); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:459:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 459 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:473:9: note: in expansion of macro 'SET_BDA' 473 | SET_BDA(kbd_flag1, flags1 & ~(KF1_LAST_E0|KF1_LAST_E1)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:529:14: note: in expansion of macro 'GET_BDA' 529 | if ((GET_BDA(kbd_flag0) & (KF0_CTRLACTIVE|KF0_ALTACTIVE)) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:532:13: note: in expansion of macro 'SET_BDA' 532 | SET_BDA(soft_reset_flag, 0x1234); | ^~~~~~~ In function 'kbd_ctrl_break', inlined from '__process_key' at src/kbd.c:513:13, inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:417:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 417 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:418:5: note: in expansion of macro 'SET_BDA' 418 | SET_BDA(kbd_buf_head, buffer_start); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:419:5: note: in expansion of macro 'SET_BDA' 419 | SET_BDA(kbd_buf_tail, buffer_start+2); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:422:5: note: in expansion of macro 'SET_BDA' 422 | SET_BDA(break_flag, 0x80); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:552:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 552 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:463:9: note: in expansion of macro 'SET_BDA' 463 | SET_BDA(kbd_flag1, flags1 | eflag); | ^~~~~~~ Compile checking out/src/system.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/system.c -o out/src/system.o In file included from src/biosvar.h:10, from src/system.c:8: In function 'get_ebda_seg', inlined from 'handle_15c1' at src/system.c:255:16, inlined from 'handle_15' at src/system.c:352:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/serial.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/serial.c -o out/src/serial.o In file included from src/serial.c:8: In function 'set_equipment_flags', inlined from 'serial_setup' at src/serial.c:56:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at src/serial.c:212:14: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at src/serial.c:217:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/sercon.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sercon.c -o out/src/sercon.o In file included from src/biosvar.h:10, from src/sercon.c:7: In function 'cursor_pos_set', inlined from 'sercon_cursor_pos_set' at src/sercon.c:190:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_lf' at src/sercon.c:270:11: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_lazy_lf' at src/sercon.c:271:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cursor_sync' at src/sercon.c:198:14, inlined from 'sercon_lazy_flush' at src/sercon.c:236:5: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_putchar' at src/sercon.c:296:9: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:285:11, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_cols', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:286:16, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_100f', inlined from 'handle_sercon' at src/sercon.c:505:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:456:16: note: in expansion of macro 'GET_BDA' 456 | regs->al = GET_BDA(video_mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:457:16: note: in expansion of macro 'GET_BDA' 457 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cr' at src/sercon.c:263:27, inlined from 'sercon_100e' at src/sercon.c:442:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_backspace' at src/sercon.c:254:11, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_backspace' at src/sercon.c:257:35, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1009' at src/sercon.c:411:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1009' at src/sercon.c:411:31, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1009' at src/sercon.c:412:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1009' at src/sercon.c:427:33, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1006' at src/sercon.c:384:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1006' at src/sercon.c:385:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_1003', inlined from 'handle_sercon' at src/sercon.c:500:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:371:16: note: in expansion of macro 'GET_BDA' 371 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1003' at src/sercon.c:372:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1003' at src/sercon.c:373:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'sercon_1001', inlined from 'handle_sercon' at src/sercon.c:498:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:359:5: note: in expansion of macro 'SET_BDA' 359 | SET_BDA(cursor_type, regs->cx); | ^~~~~~~ In function 'cursor_pos_set', inlined from 'sercon_1000' at src/sercon.c:335:9, inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'sercon_1000', inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:336:9: note: in expansion of macro 'SET_BDA' 336 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:337:9: note: in expansion of macro 'SET_BDA' 337 | SET_BDA(video_cols, cols); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:338:9: note: in expansion of macro 'SET_BDA' 338 | SET_BDA(video_rows, rows-1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:339:9: note: in expansion of macro 'SET_BDA' 339 | SET_BDA(cursor_type, 0x0007); | ^~~~~~~ src/sercon.c: In function 'sercon_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/sercon.c:528:15: note: in expansion of macro 'GET_IVT' 528 | vgabios = GET_IVT(0x10); | ^~~~~~~ src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ Compile checking out/src/clock.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/clock.c -o out/src/clock.o In file included from src/biosvar.h:10, from src/clock.c:8: src/clock.c: In function 'clear_usertimer': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:389:11: note: in expansion of macro 'GET_BDA' 389 | if (!(GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING)) | ^~~~~~~ In function 'clear_usertimer', inlined from 'clear_usertimer' at src/clock.c:387:1: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:392:5: note: in expansion of macro 'SET_BDA' 392 | SET_BDA(rtc_wait_flag, 0); | ^~~~~~~ src/clock.c: In function 'clock_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In function 'handle_1a01', inlined from 'handle_1a' at src/clock.c:268:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(timer_counter, ticks); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:87:5: note: in expansion of macro 'SET_BDA' 87 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'handle_1a00', inlined from 'handle_1a' at src/clock.c:267:16: src/clock.c:73:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 73 | u32 ticks = GET_BDA(timer_counter); | ^~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:76:16: note: in expansion of macro 'GET_BDA' 76 | regs->al = GET_BDA(timer_rollover); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:77:5: note: in expansion of macro 'SET_BDA' 77 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'clock_update', inlined from 'handle_08' at src/clock.c:306:5: src/clock.c:284:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 284 | u32 counter = GET_BDA(timer_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:290:33: note: in expansion of macro 'GET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:292:5: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(timer_counter, counter); | ^~~~~~~ src/clock.c: In function 'handle_08': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/clock.c:312:29: note: in expansion of macro 'GET_IVT' 312 | struct segoff_s isr1c = GET_IVT(0x1c); | ^~~~~~~ src/clock.c: In function 'irqtimer_calc_ticks': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ src/clock.c: In function 'irqtimer_calc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ src/clock.c: In function 'irqtimer_check': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_1586' at src/clock.c:409:15: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:375:9: note: in expansion of macro 'GET_BDA' 375 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:379:5: note: in expansion of macro 'SET_BDA' 379 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:381:5: note: in expansion of macro 'SET_BDA' 381 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_158300' at src/clock.c:423:15, inlined from 'handle_1583' at src/clock.c:454:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:375:9: note: in expansion of macro 'GET_BDA' 375 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:379:5: note: in expansion of macro 'SET_BDA' 379 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:381:5: note: in expansion of macro 'SET_BDA' 381 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ src/clock.c: In function 'handle_70': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:490:10: note: in expansion of macro 'GET_BDA' 490 | if (!GET_BDA(rtc_wait_flag)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:494:16: note: in expansion of macro 'GET_BDA' 494 | u32 time = GET_BDA(user_wait_timeout); // Time left in microseconds. | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:507:9: note: in expansion of macro 'SET_BDA' 507 | SET_BDA(user_wait_timeout, time); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:497:34: note: in expansion of macro 'GET_BDA' 497 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:497:34: note: in expansion of macro 'GET_BDA' 497 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ Compile checking out/src/resume.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/resume.c -o out/src/resume.o Compile checking out/src/pnpbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pnpbios.c -o out/src/pnpbios.o Compile checking out/src/vgahooks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/vgahooks.c -o out/src/vgahooks.o Compile checking out/src/pcibios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pcibios.c -o out/src/pcibios.o Compile checking out/src/apm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/apm.c -o out/src/apm.o Compile checking out/src/cp437.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cp437.c -o out/src/cp437.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/timer.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/timer.c -o out/src/hw/timer.o Compile checking out/src/hw/rtc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/rtc.c -o out/src/hw/rtc.o Compile checking out/src/hw/dma.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/dma.c -o out/src/hw/dma.o Compile checking out/src/hw/pic.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pic.c -o out/src/hw/pic.o Compile checking out/src/hw/ps2port.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ps2port.c -o out/src/hw/ps2port.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/src/hw/usb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb.c -o out/src/hw/usb.o Compile checking out/src/hw/usb-uhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uhci.c -o out/src/hw/usb-uhci.o Compile checking out/src/hw/usb-ohci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ohci.c -o out/src/hw/usb-ohci.o Compile checking out/src/hw/usb-ehci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ehci.c -o out/src/hw/usb-ehci.o Compile checking out/src/hw/usb-hid.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hid.c -o out/src/hw/usb-hid.o Compile checking out/src/hw/usb-msc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-msc.c -o out/src/hw/usb-msc.o Compile checking out/src/hw/usb-uas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uas.c -o out/src/hw/usb-uas.o Compile checking out/src/hw/blockcmd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/blockcmd.c -o out/src/hw/blockcmd.o Compile checking out/src/hw/floppy.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/floppy.c -o out/src/hw/floppy.o In file included from src/biosvar.h:10, from src/hw/floppy.c:8: src/hw/floppy.c: In function 'floppy_wait_irq': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:226:14: note: in expansion of macro 'GET_BDA' 226 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:227:5: note: in expansion of macro 'SET_BDA' 227 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:235:15: note: in expansion of macro 'GET_BDA' 235 | frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:243:5: note: in expansion of macro 'SET_BDA' 243 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_drive_pio': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:372:5: note: in expansion of macro 'SET_BDA' 372 | SET_BDA(floppy_motor_counter, 255); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:387:5: note: in expansion of macro 'SET_BDA' 387 | SET_BDA(floppy_motor_counter, FLOPPY_MOTOR_TICKS); // reset motor timeout | ^~~~~~~ src/hw/floppy.c: In function 'floppy_prep': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:494:11: note: in expansion of macro 'GET_BDA' 494 | if (!(GET_BDA(floppy_recalibration_status) & (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:414:5: note: in expansion of macro 'SET_BDA' 414 | SET_BDA(floppy_recalibration_status, frs | (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:478:5: note: in expansion of macro 'SET_BDA' 478 | SET_BDA(floppy_last_data_rate, (old_data_rate<<2) | (data_rate<<6)); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_setup': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'floppy_reset', inlined from 'floppy_process_op' at src/hw/floppy.c:691:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:594:5: note: in expansion of macro 'SET_BDA' 594 | SET_BDA(floppy_recalibration_status, 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:595:5: note: in expansion of macro 'SET_BDA' 595 | SET_BDA(floppy_media_state[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:596:5: note: in expansion of macro 'SET_BDA' 596 | SET_BDA(floppy_media_state[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:597:5: note: in expansion of macro 'SET_BDA' 597 | SET_BDA(floppy_track[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:598:5: note: in expansion of macro 'SET_BDA' 598 | SET_BDA(floppy_track[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:599:5: note: in expansion of macro 'SET_BDA' 599 | SET_BDA(floppy_last_data_rate, 0); | ^~~~~~~ src/hw/floppy.c: In function 'handle_0e': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:719:14: note: in expansion of macro 'GET_BDA' 719 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:720:5: note: in expansion of macro 'SET_BDA' 720 | SET_BDA(floppy_recalibration_status, frs | FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_tick': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:733:17: note: in expansion of macro 'GET_BDA' 733 | u8 fcount = GET_BDA(floppy_motor_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:736:9: note: in expansion of macro 'SET_BDA' 736 | SET_BDA(floppy_motor_counter, fcount); | ^~~~~~~ Compile checking out/src/hw/ata.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ata.c -o out/src/hw/ata.o In file included from src/biosvar.h:10, from src/hw/ata.c:9: src/hw/ata.c: In function 'ata_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ Compile checking out/src/hw/ramdisk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ramdisk.c -o out/src/hw/ramdisk.o Compile checking out/src/hw/lsi-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/lsi-scsi.c -o out/src/hw/lsi-scsi.o Compile checking out/src/hw/esp-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/esp-scsi.c -o out/src/hw/esp-scsi.o Compile checking out/src/hw/megasas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/megasas.c -o out/src/hw/megasas.o Compile checking out/src/hw/mpt-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/mpt-scsi.c -o out/src/hw/mpt-scsi.o Compile checking out/src/post.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/post.c -o out/src/post.o In file included from src/biosvar.h:10, from src/post.c:8: In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'bda_init' at src/post.c:91:46, inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/e820map.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/e820map.c -o out/src/e820map.o Compile checking out/src/malloc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/malloc.c -o out/src/malloc.o In file included from src/biosvar.h:10, from src/malloc.c:7: src/malloc.c: In function 'malloc_prepboot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ Compile checking out/src/romfile.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/romfile.c -o out/src/romfile.o Compile checking out/src/x86.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/x86.c -o out/src/x86.o Compile checking out/src/optionroms.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/optionroms.c -o out/src/optionroms.o In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:344:28: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:348:9: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In file included from src/optionroms.c:10: In function 'boot_irq_restore', inlined from 'init_pcirom' at src/optionroms.c:354:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ Compile checking out/src/pmm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pmm.c -o out/src/pmm.o Compile checking out/src/font.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/font.c -o out/src/font.o Compile checking out/src/boot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/boot.c -o out/src/boot.o Compile checking out/src/bootsplash.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bootsplash.c -o out/src/bootsplash.o Compile checking out/src/jpeg.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/jpeg.c -o out/src/jpeg.o Compile checking out/src/bmp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bmp.c -o out/src/bmp.o Compile checking out/src/tcgbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/tcgbios.c -o out/src/tcgbios.o Compile checking out/src/sha1.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha1.c -o out/src/sha1.o Compile checking out/src/hw/pcidevice.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pcidevice.c -o out/src/hw/pcidevice.o Compile checking out/src/hw/ahci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ahci.c -o out/src/hw/ahci.o Compile checking out/src/hw/pvscsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pvscsi.c -o out/src/hw/pvscsi.o Compile checking out/src/hw/usb-xhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-xhci.c -o out/src/hw/usb-xhci.o Compile checking out/src/hw/usb-hub.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hub.c -o out/src/hw/usb-hub.o Compile checking out/src/hw/sdcard.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/sdcard.c -o out/src/hw/sdcard.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/src/fw/lzmadecode.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/lzmadecode.c -o out/src/fw/lzmadecode.o Compile checking out/src/fw/multiboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/multiboot.c -o out/src/fw/multiboot.o Compile checking out/src/fw/csm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/csm.c -o out/src/fw/csm.o Compile checking out/src/fw/biostables.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/biostables.c -o out/src/fw/biostables.o Compile checking out/src/fw/paravirt.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/paravirt.c -o out/src/fw/paravirt.o Compile checking out/src/fw/shadow.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/shadow.c -o out/src/fw/shadow.o Compile checking out/src/fw/pciinit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pciinit.c -o out/src/fw/pciinit.o Compile checking out/src/fw/smm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smm.c -o out/src/fw/smm.o Compile checking out/src/fw/smp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smp.c -o out/src/fw/smp.o Compile checking out/src/fw/mtrr.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mtrr.c -o out/src/fw/mtrr.o Compile checking out/src/fw/xen.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/xen.c -o out/src/fw/xen.o Compile checking out/src/fw/acpi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/acpi.c -o out/src/fw/acpi.o Compile checking out/src/fw/mptable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mptable.c -o out/src/fw/mptable.o Compile checking out/src/fw/pirtable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pirtable.c -o out/src/fw/pirtable.o Compile checking out/src/fw/smbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smbios.c -o out/src/fw/smbios.o Compile checking out/src/fw/romfile_loader.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/romfile_loader.c -o out/src/fw/romfile_loader.o Compile checking out/src/fw/dsdt_parser.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/dsdt_parser.c -o out/src/fw/dsdt_parser.o Compile checking out/src/hw/virtio-ring.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-ring.c -o out/src/hw/virtio-ring.o Compile checking out/src/hw/virtio-pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-pci.c -o out/src/hw/virtio-pci.o Compile checking out/src/hw/virtio-mmio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-mmio.c -o out/src/hw/virtio-mmio.o Compile checking out/src/hw/virtio-blk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-blk.c -o out/src/hw/virtio-blk.o Compile checking out/src/hw/virtio-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-scsi.c -o out/src/hw/virtio-scsi.o Compile checking out/src/hw/tpm_drivers.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/tpm_drivers.c -o out/src/hw/tpm_drivers.o Compile checking out/src/hw/nvme.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/nvme.c -o out/src/hw/nvme.o Compile checking out/src/sha256.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha256.c -o out/src/sha256.o Compile checking out/src/sha512.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha512.c -o out/src/sha512.o Compiling whole program out/ccode32flat.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n #include "src/post.c"\n #include "src/e820map.c"\n #include "src/malloc.c"\n #include "src/romfile.c"\n #include "src/x86.c"\n #include "src/optionroms.c"\n #include "src/pmm.c"\n #include "src/font.c"\n #include "src/boot.c"\n #include "src/bootsplash.c"\n #include "src/jpeg.c"\n #include "src/bmp.c"\n #include "src/tcgbios.c"\n #include "src/sha1.c"\n #include "src/hw/pcidevice.c"\n #include "src/hw/ahci.c"\n #include "src/hw/pvscsi.c"\n #include "src/hw/usb-xhci.c"\n #include "src/hw/usb-hub.c"\n #include "src/hw/sdcard.c"\n #include "src/fw/coreboot.c"\n #include "src/fw/lzmadecode.c"\n #include "src/fw/multiboot.c"\n #include "src/fw/csm.c"\n #include "src/fw/biostables.c"\n #include "src/fw/paravirt.c"\n #include "src/fw/shadow.c"\n #include "src/fw/pciinit.c"\n #include "src/fw/smm.c"\n #include "src/fw/smp.c"\n #include "src/fw/mtrr.c"\n #include "src/fw/xen.c"\n #include "src/fw/acpi.c"\n #include "src/fw/mptable.c"\n #include "src/fw/pirtable.c"\n #include "src/fw/smbios.c"\n #include "src/fw/romfile_loader.c"\n #include "src/fw/dsdt_parser.c"\n #include "src/hw/virtio-ring.c"\n #include "src/hw/virtio-pci.c"\n #include "src/hw/virtio-mmio.c"\n #include "src/hw/virtio-blk.c"\n #include "src/hw/virtio-scsi.c"\n #include "src/hw/tpm_drivers.c"\n #include "src/hw/nvme.c"\n #include "src/sha256.c"\n #include "src/sha512.c"\n' > out/ccode32flat.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -fwhole-program -DWHOLE_PROGRAM -c out/ccode32flat.o.tmp.c -o out/ccode32flat.o In file included from ./src/biosvar.h:10, from ./src/misc.c:8, from out/ccode32flat.o.tmp.c:1: In function 'irqtimer_calc_ticks', inlined from 'irqtimer_calc' at ./src/clock.c:356:12, inlined from 'irqtimer_calc' at ./src/clock.c:352:1: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ ./src/clock.c: In function 'irqtimer_calc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ ./src/output.c: In function 'screenc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ ./src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ In function 'irqtimer_check', inlined from 'get_keystroke_full' at ./src/boot.c:661:13: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at ./src/post.c:114:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'bda_init' at ./src/post.c:91:46, inlined from 'interface_init' at ./src/post.c:114:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'kbd_init', inlined from 'interface_init' at ./src/post.c:121:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mouse_init' at ./src/mouse.c:23:5, inlined from 'interface_init' at ./src/post.c:122:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'irqtimer_check', inlined from 'boot_fail' at ./src/boot.c:974:41: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:47: In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:344:28: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:348:9: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_restore', inlined from 'init_pcirom' at ./src/optionroms.c:354:9: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ In function 'floppy_setup', inlined from 'block_setup' at ./src/block.c:510:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'ata_setup', inlined from 'block_setup' at ./src/block.c:511:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at ./src/serial.c:212:14, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at ./src/serial.c:217:5, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'serial_setup' at ./src/serial.c:56:5, inlined from 'device_hardware_setup' at ./src/post.c:133:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at ./src/misc.c:66:5, inlined from 'platform_hardware_setup' at ./src/post.c:146:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'clock_setup', inlined from 'platform_hardware_setup' at ./src/post.c:154:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ ./src/cdrom.c: In function 'cdrom_boot': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at ./src/cdrom.c:242:9: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:12: In function 'sercon_setup', inlined from 'maininit' at ./src/post.c:211:5: ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ In function 'irqtimer_check', inlined from 'interactive_bootmenu' at ./src/boot.c:755:37, inlined from 'maininit' at ./src/post.c:224:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'malloc_prepboot', inlined from 'prepareboot' at ./src/post.c:172:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:5: In function 'map_hd_drive', inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ~~~^~~~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'fill_fdpt' at ./src/block.c:213:28, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:239:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:236:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:296:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:292:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compiling whole program out/code32seg.o printf '#include "src/string.c"\n #include "src/output.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/stacks.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n' > out/code32seg.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=0 -fwhole-program -DWHOLE_PROGRAM -c out/code32seg.o.tmp.c -o out/code32seg.o Compiling whole program out/ccode16.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n' > out/ccode16.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fwhole-program -DWHOLE_PROGRAM -c out/ccode16.o.tmp.c -o out/ccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/romlayout.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ src/romlayout.S -o out/romlayout.o Building ld scripts python3 ./scripts/buildversion.py -e "-2.fc38" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autoversion.h Version: 1.16.1-2.fc38 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/version.c -o out/version.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode32flat.o out/version.o -o out/code32flat.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode16.o out/romlayout.o -o out/code16.o x86_64-linux-gnu-objdump -thr out/code32flat.o > out/code32flat.o.objdump x86_64-linux-gnu-objdump -thr out/code32seg.o > out/code32seg.o.objdump x86_64-linux-gnu-objdump -thr out/code16.o > out/code16.o.objdump python3 ./scripts/layoutrom.py out/code16.o.objdump out/code32seg.o.objdump out/code32flat.o.objdump out/autoconf.h out/romlayout16.lds out/romlayout32seg.lds out/romlayout32flat.lds Fixed space: 0xe05b-0x10000 total: 8101 slack: 15 Percent slack: 0.2% 16bit size: 38112 32bit segmented size: 2309 32bit flat size: 41643 32bit flat init size: 61664 Lowmem size: 2240 f-segment var size: 1232 Linking out/rom16.o x86_64-linux-gnu-ld -T out/romlayout16.lds out/code16.o -o out/rom16.o Stripping out/rom16.noexec.o x86_64-linux-gnu-strip out/rom16.o -o out/rom16.o.strip.o python3 ./scripts/ldnoexec.py out/rom16.o.strip.o out/rom16.noexec.o Linking out/rom32seg.o x86_64-linux-gnu-ld -T out/romlayout32seg.lds out/code32seg.o -o out/rom32seg.o Stripping out/rom32seg.noexec.o x86_64-linux-gnu-strip out/rom32seg.o -o out/rom32seg.o.strip.o python3 ./scripts/ldnoexec.py out/rom32seg.o.strip.o out/rom32seg.noexec.o Linking out/rom.o x86_64-linux-gnu-ld -N -T out/romlayout32flat.lds out/rom16.noexec.o out/rom32seg.noexec.o out/code32flat.o -o out/rom.o Prepping out/bios.bin.prep rm -f out/bios.bin out/Csm16.bin out/bios.bin.elf x86_64-linux-gnu-objdump -thr out/rom.o > out/rom.o.objdump x86_64-linux-gnu-objcopy -O binary out/rom.o out/bios.bin.raw python3 ./scripts/checkrom.py out/rom.o.objdump 0 out/bios.bin.raw out/bios.bin.prep Total size: 151744 Fixed: 83296 Free: 110400 (used 57.9% of 256KiB rom) Creating out/bios.bin.elf x86_64-linux-gnu-strip -R .comment out/rom.o -o out/bios.bin.elf + cp out/bios.bin.elf binaries/bios-coreboot.bin + build_bios /builddir/build/SOURCES/config.seabios-microvm bios.bin bios-microvm.bin + make clean distclean + cp /builddir/build/SOURCES/config.seabios-microvm .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.1/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' + make V=1 EXTRAVERSION=-2.fc38 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' Compile checking out/src/misc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/misc.c -o out/src/misc.o In file included from src/biosvar.h:10, from src/misc.c:8: src/misc.c: In function 'handle_12': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:36:16: note: in expansion of macro 'GET_BDA' 36 | regs->ax = GET_BDA(mem_size_kb); | ^~~~~~~ src/misc.c: In function 'handle_11': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:44:16: note: in expansion of macro 'GET_BDA' 44 | regs->ax = GET_BDA(equipment_list_flags); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at src/misc.c:66:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/stacks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/stacks.c -o out/src/stacks.o Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/block.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/block.c -o out/src/block.o src/block.c: In function 'map_hd_drive': src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ^~ In file included from src/biosvar.h:10, from src/block.c:8: In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'fill_fdpt' at src/block.c:213:28, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:239:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:236:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:296:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:292:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compile checking out/src/cdrom.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cdrom.c -o out/src/cdrom.o In file included from src/biosvar.h:10, from src/cdrom.c:8: src/cdrom.c: In function 'cdrom_boot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at src/cdrom.c:242:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/disk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/disk.c -o out/src/disk.o In file included from src/biosvar.h:10, from src/disk.c:8: src/disk.c: In function '__disk_ret_unimplemented': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:45:9: note: in expansion of macro 'SET_BDA' 45 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:43:9: note: in expansion of macro 'SET_BDA' 43 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function '__disk_ret': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:31:9: note: in expansion of macro 'SET_BDA' 31 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:29:9: note: in expansion of macro 'SET_BDA' 29 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function 'disk_1308': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/disk.c:297:17: note: in expansion of macro 'GET_BDA' 297 | count = GET_BDA(hdcount); | ^~~~~~~ src/disk.c: In function 'disk_13': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:626:5: note: in expansion of macro 'SET_BDA' 626 | SET_BDA(disk_interrupt_flag, 0); | ^~~~~~~ In function 'disk_1301', inlined from 'disk_13' at src/disk.c:630:16: src/disk.c:218:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 218 | v = GET_BDA(disk_last_status); src/disk.c:216:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 216 | v = GET_BDA(floppy_last_status); src/disk.c: In function 'handle_76': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:777:5: note: in expansion of macro 'SET_BDA' 777 | SET_BDA(disk_interrupt_flag, 0xff); | ^~~~~~~ Compile checking out/src/mouse.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/mouse.c -o out/src/mouse.o In file included from src/mouse.c:8: In function 'set_equipment_flags', inlined from 'mouse_init' at src/mouse.c:23:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c207' at src/mouse.c:231:20, inlined from 'handle_15c2' at src/mouse.c:272:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c205' at src/mouse.c:162:20, inlined from 'handle_15c2' at src/mouse.c:270:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c20001' at src/mouse.c:56:20, inlined from 'mouse_15c200' at src/mouse.c:82:16, inlined from 'handle_15c2' at src/mouse.c:265:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'process_mouse' at src/mouse.c:322:20: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/kbd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/kbd.c -o out/src/kbd.o In file included from src/biosvar.h:10, from src/kbd.c:8: src/kbd.c: In function 'kbd_set_flag': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:397:18: note: in expansion of macro 'GET_BDA' 397 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:398:17: note: in expansion of macro 'GET_BDA' 398 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:407:5: note: in expansion of macro 'SET_BDA' 407 | SET_BDA(kbd_flag0, flags0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:408:5: note: in expansion of macro 'SET_BDA' 408 | SET_BDA(kbd_flag1, flags1); | ^~~~~~~ src/kbd.c: In function 'set_leds': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:230:23: note: in expansion of macro 'GET_BDA' 230 | u8 shift_flags = (GET_BDA(kbd_flag0) >> 4) & 0x07; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:231:18: note: in expansion of macro 'GET_BDA' 231 | u8 kbd_led = GET_BDA(kbd_led); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:241:5: note: in expansion of macro 'SET_BDA' 241 | SET_BDA(kbd_led, kbd_led); | ^~~~~~~ src/kbd.c: In function 'dequeue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:61:23: note: in expansion of macro 'GET_BDA' 61 | buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:62:23: note: in expansion of macro 'GET_BDA' 62 | buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:98:24: note: in expansion of macro 'GET_BDA' 98 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:99:24: note: in expansion of macro 'GET_BDA' 99 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:104:5: note: in expansion of macro 'SET_BDA' 104 | SET_BDA(kbd_buf_head, buffer_head); | ^~~~~~~ src/kbd.c: In function 'kbd_init': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ src/kbd.c: In function 'enqueue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:35:24: note: in expansion of macro 'GET_BDA' 35 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:36:24: note: in expansion of macro 'GET_BDA' 36 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:38:23: note: in expansion of macro 'GET_BDA' 38 | u16 buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:39:23: note: in expansion of macro 'GET_BDA' 39 | u16 buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:50:5: note: in expansion of macro 'SET_BDA' 50 | SET_BDA(kbd_buf_tail, buffer_tail); | ^~~~~~~ In function 'handle_1612', inlined from 'handle_16' at src/kbd.c:264:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:193:18: note: in expansion of macro 'GET_BDA' 193 | regs->ax = ((GET_BDA(kbd_flag0) & ~((KF1_RCTRL|KF1_RALT) << 8)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:194:21: note: in expansion of macro 'GET_BDA' 194 | | ((GET_BDA(kbd_flag1) & (KF1_RCTRL|KF1_RALT)) << 8)); | ^~~~~~~ In function 'handle_1602', inlined from 'handle_16' at src/kbd.c:258:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:134:16: note: in expansion of macro 'GET_BDA' 134 | regs->al = GET_BDA(kbd_flag0); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:459:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 459 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:473:9: note: in expansion of macro 'SET_BDA' 473 | SET_BDA(kbd_flag1, flags1 & ~(KF1_LAST_E0|KF1_LAST_E1)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:529:14: note: in expansion of macro 'GET_BDA' 529 | if ((GET_BDA(kbd_flag0) & (KF0_CTRLACTIVE|KF0_ALTACTIVE)) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:532:13: note: in expansion of macro 'SET_BDA' 532 | SET_BDA(soft_reset_flag, 0x1234); | ^~~~~~~ In function 'kbd_ctrl_break', inlined from '__process_key' at src/kbd.c:513:13, inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:417:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 417 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:418:5: note: in expansion of macro 'SET_BDA' 418 | SET_BDA(kbd_buf_head, buffer_start); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:419:5: note: in expansion of macro 'SET_BDA' 419 | SET_BDA(kbd_buf_tail, buffer_start+2); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:422:5: note: in expansion of macro 'SET_BDA' 422 | SET_BDA(break_flag, 0x80); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:552:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 552 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:463:9: note: in expansion of macro 'SET_BDA' 463 | SET_BDA(kbd_flag1, flags1 | eflag); | ^~~~~~~ Compile checking out/src/system.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/system.c -o out/src/system.o In file included from src/biosvar.h:10, from src/system.c:8: In function 'get_ebda_seg', inlined from 'handle_15c1' at src/system.c:255:16, inlined from 'handle_15' at src/system.c:352:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/serial.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/serial.c -o out/src/serial.o In file included from src/serial.c:8: In function 'set_equipment_flags', inlined from 'serial_setup' at src/serial.c:56:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/sercon.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sercon.c -o out/src/sercon.o In file included from src/biosvar.h:10, from src/sercon.c:7: In function 'cursor_pos_set', inlined from 'sercon_cursor_pos_set' at src/sercon.c:190:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_lf' at src/sercon.c:270:11: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_lazy_lf' at src/sercon.c:271:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cursor_sync' at src/sercon.c:198:14, inlined from 'sercon_lazy_flush' at src/sercon.c:236:5: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_putchar' at src/sercon.c:296:9: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:285:11, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_cols', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:286:16, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_100f', inlined from 'handle_sercon' at src/sercon.c:505:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:456:16: note: in expansion of macro 'GET_BDA' 456 | regs->al = GET_BDA(video_mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:457:16: note: in expansion of macro 'GET_BDA' 457 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cr' at src/sercon.c:263:27, inlined from 'sercon_100e' at src/sercon.c:442:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_backspace' at src/sercon.c:254:11, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_backspace' at src/sercon.c:257:35, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1009' at src/sercon.c:411:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1009' at src/sercon.c:411:31, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1009' at src/sercon.c:412:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1009' at src/sercon.c:427:33, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1006' at src/sercon.c:384:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1006' at src/sercon.c:385:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_1003', inlined from 'handle_sercon' at src/sercon.c:500:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:371:16: note: in expansion of macro 'GET_BDA' 371 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1003' at src/sercon.c:372:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1003' at src/sercon.c:373:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'sercon_1001', inlined from 'handle_sercon' at src/sercon.c:498:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:359:5: note: in expansion of macro 'SET_BDA' 359 | SET_BDA(cursor_type, regs->cx); | ^~~~~~~ In function 'cursor_pos_set', inlined from 'sercon_1000' at src/sercon.c:335:9, inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'sercon_1000', inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:336:9: note: in expansion of macro 'SET_BDA' 336 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:337:9: note: in expansion of macro 'SET_BDA' 337 | SET_BDA(video_cols, cols); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:338:9: note: in expansion of macro 'SET_BDA' 338 | SET_BDA(video_rows, rows-1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:339:9: note: in expansion of macro 'SET_BDA' 339 | SET_BDA(cursor_type, 0x0007); | ^~~~~~~ src/sercon.c: In function 'sercon_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/sercon.c:528:15: note: in expansion of macro 'GET_IVT' 528 | vgabios = GET_IVT(0x10); | ^~~~~~~ src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ Compile checking out/src/clock.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/clock.c -o out/src/clock.o In file included from src/biosvar.h:10, from src/clock.c:8: src/clock.c: In function 'clock_update': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:284:19: note: in expansion of macro 'GET_BDA' 284 | u32 counter = GET_BDA(timer_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:290:33: note: in expansion of macro 'GET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:292:5: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(timer_counter, counter); | ^~~~~~~ src/clock.c: In function 'clock_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In function 'handle_1a01', inlined from 'handle_1a' at src/clock.c:268:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(timer_counter, ticks); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:87:5: note: in expansion of macro 'SET_BDA' 87 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'handle_1a00', inlined from 'handle_1a' at src/clock.c:267:16: src/clock.c:73:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 73 | u32 ticks = GET_BDA(timer_counter); | ^~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:76:16: note: in expansion of macro 'GET_BDA' 76 | regs->al = GET_BDA(timer_rollover); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:77:5: note: in expansion of macro 'SET_BDA' 77 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ src/clock.c: In function 'handle_08': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/clock.c:312:29: note: in expansion of macro 'GET_IVT' 312 | struct segoff_s isr1c = GET_IVT(0x1c); | ^~~~~~~ src/clock.c: In function 'irqtimer_calc_ticks': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ src/clock.c: In function 'irqtimer_calc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ src/clock.c: In function 'irqtimer_check': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ Compile checking out/src/resume.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/resume.c -o out/src/resume.o Compile checking out/src/pnpbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pnpbios.c -o out/src/pnpbios.o Compile checking out/src/vgahooks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/vgahooks.c -o out/src/vgahooks.o Compile checking out/src/pcibios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pcibios.c -o out/src/pcibios.o Compile checking out/src/apm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/apm.c -o out/src/apm.o Compile checking out/src/cp437.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cp437.c -o out/src/cp437.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/timer.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/timer.c -o out/src/hw/timer.o Compile checking out/src/hw/rtc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/rtc.c -o out/src/hw/rtc.o Compile checking out/src/hw/dma.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/dma.c -o out/src/hw/dma.o Compile checking out/src/hw/pic.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pic.c -o out/src/hw/pic.o Compile checking out/src/hw/ps2port.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ps2port.c -o out/src/hw/ps2port.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/src/hw/usb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb.c -o out/src/hw/usb.o Compile checking out/src/hw/usb-uhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uhci.c -o out/src/hw/usb-uhci.o Compile checking out/src/hw/usb-ohci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ohci.c -o out/src/hw/usb-ohci.o Compile checking out/src/hw/usb-ehci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ehci.c -o out/src/hw/usb-ehci.o Compile checking out/src/hw/usb-hid.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hid.c -o out/src/hw/usb-hid.o Compile checking out/src/hw/usb-msc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-msc.c -o out/src/hw/usb-msc.o Compile checking out/src/hw/usb-uas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uas.c -o out/src/hw/usb-uas.o Compile checking out/src/hw/blockcmd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/blockcmd.c -o out/src/hw/blockcmd.o Compile checking out/src/hw/floppy.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/floppy.c -o out/src/hw/floppy.o In file included from src/biosvar.h:10, from src/hw/floppy.c:8: src/hw/floppy.c: In function 'floppy_setup': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ Compile checking out/src/hw/ata.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ata.c -o out/src/hw/ata.o Compile checking out/src/hw/ramdisk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ramdisk.c -o out/src/hw/ramdisk.o Compile checking out/src/hw/lsi-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/lsi-scsi.c -o out/src/hw/lsi-scsi.o Compile checking out/src/hw/esp-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/esp-scsi.c -o out/src/hw/esp-scsi.o Compile checking out/src/hw/megasas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/megasas.c -o out/src/hw/megasas.o Compile checking out/src/hw/mpt-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/mpt-scsi.c -o out/src/hw/mpt-scsi.o Compile checking out/src/post.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/post.c -o out/src/post.o In file included from src/biosvar.h:10, from src/post.c:8: In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'bda_init' at src/post.c:91:46, inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/e820map.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/e820map.c -o out/src/e820map.o Compile checking out/src/malloc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/malloc.c -o out/src/malloc.o In file included from src/biosvar.h:10, from src/malloc.c:7: src/malloc.c: In function 'malloc_prepboot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ Compile checking out/src/romfile.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/romfile.c -o out/src/romfile.o Compile checking out/src/x86.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/x86.c -o out/src/x86.o Compile checking out/src/optionroms.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/optionroms.c -o out/src/optionroms.o In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:344:28: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:348:9: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In file included from src/optionroms.c:10: In function 'boot_irq_restore', inlined from 'init_pcirom' at src/optionroms.c:354:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ Compile checking out/src/pmm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pmm.c -o out/src/pmm.o Compile checking out/src/font.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/font.c -o out/src/font.o Compile checking out/src/boot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/boot.c -o out/src/boot.o Compile checking out/src/bootsplash.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bootsplash.c -o out/src/bootsplash.o Compile checking out/src/jpeg.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/jpeg.c -o out/src/jpeg.o Compile checking out/src/bmp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bmp.c -o out/src/bmp.o Compile checking out/src/tcgbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/tcgbios.c -o out/src/tcgbios.o Compile checking out/src/sha1.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha1.c -o out/src/sha1.o Compile checking out/src/hw/pcidevice.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pcidevice.c -o out/src/hw/pcidevice.o Compile checking out/src/hw/ahci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ahci.c -o out/src/hw/ahci.o Compile checking out/src/hw/pvscsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pvscsi.c -o out/src/hw/pvscsi.o Compile checking out/src/hw/usb-xhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-xhci.c -o out/src/hw/usb-xhci.o Compile checking out/src/hw/usb-hub.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hub.c -o out/src/hw/usb-hub.o Compile checking out/src/hw/sdcard.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/sdcard.c -o out/src/hw/sdcard.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/src/fw/lzmadecode.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/lzmadecode.c -o out/src/fw/lzmadecode.o Compile checking out/src/fw/multiboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/multiboot.c -o out/src/fw/multiboot.o Compile checking out/src/fw/csm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/csm.c -o out/src/fw/csm.o Compile checking out/src/fw/biostables.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/biostables.c -o out/src/fw/biostables.o Compile checking out/src/fw/paravirt.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/paravirt.c -o out/src/fw/paravirt.o Compile checking out/src/fw/shadow.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/shadow.c -o out/src/fw/shadow.o Compile checking out/src/fw/pciinit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pciinit.c -o out/src/fw/pciinit.o Compile checking out/src/fw/smm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smm.c -o out/src/fw/smm.o Compile checking out/src/fw/smp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smp.c -o out/src/fw/smp.o Compile checking out/src/fw/mtrr.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mtrr.c -o out/src/fw/mtrr.o Compile checking out/src/fw/xen.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/xen.c -o out/src/fw/xen.o Compile checking out/src/fw/acpi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/acpi.c -o out/src/fw/acpi.o Compile checking out/src/fw/mptable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mptable.c -o out/src/fw/mptable.o Compile checking out/src/fw/pirtable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pirtable.c -o out/src/fw/pirtable.o Compile checking out/src/fw/smbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smbios.c -o out/src/fw/smbios.o Compile checking out/src/fw/romfile_loader.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/romfile_loader.c -o out/src/fw/romfile_loader.o Compile checking out/src/fw/dsdt_parser.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/dsdt_parser.c -o out/src/fw/dsdt_parser.o Compile checking out/src/hw/virtio-ring.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-ring.c -o out/src/hw/virtio-ring.o Compile checking out/src/hw/virtio-pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-pci.c -o out/src/hw/virtio-pci.o Compile checking out/src/hw/virtio-mmio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-mmio.c -o out/src/hw/virtio-mmio.o Compile checking out/src/hw/virtio-blk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-blk.c -o out/src/hw/virtio-blk.o Compile checking out/src/hw/virtio-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-scsi.c -o out/src/hw/virtio-scsi.o Compile checking out/src/hw/tpm_drivers.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/tpm_drivers.c -o out/src/hw/tpm_drivers.o Compile checking out/src/hw/nvme.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/nvme.c -o out/src/hw/nvme.o Compile checking out/src/sha256.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha256.c -o out/src/sha256.o Compile checking out/src/sha512.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha512.c -o out/src/sha512.o Compiling whole program out/ccode32flat.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n #include "src/post.c"\n #include "src/e820map.c"\n #include "src/malloc.c"\n #include "src/romfile.c"\n #include "src/x86.c"\n #include "src/optionroms.c"\n #include "src/pmm.c"\n #include "src/font.c"\n #include "src/boot.c"\n #include "src/bootsplash.c"\n #include "src/jpeg.c"\n #include "src/bmp.c"\n #include "src/tcgbios.c"\n #include "src/sha1.c"\n #include "src/hw/pcidevice.c"\n #include "src/hw/ahci.c"\n #include "src/hw/pvscsi.c"\n #include "src/hw/usb-xhci.c"\n #include "src/hw/usb-hub.c"\n #include "src/hw/sdcard.c"\n #include "src/fw/coreboot.c"\n #include "src/fw/lzmadecode.c"\n #include "src/fw/multiboot.c"\n #include "src/fw/csm.c"\n #include "src/fw/biostables.c"\n #include "src/fw/paravirt.c"\n #include "src/fw/shadow.c"\n #include "src/fw/pciinit.c"\n #include "src/fw/smm.c"\n #include "src/fw/smp.c"\n #include "src/fw/mtrr.c"\n #include "src/fw/xen.c"\n #include "src/fw/acpi.c"\n #include "src/fw/mptable.c"\n #include "src/fw/pirtable.c"\n #include "src/fw/smbios.c"\n #include "src/fw/romfile_loader.c"\n #include "src/fw/dsdt_parser.c"\n #include "src/hw/virtio-ring.c"\n #include "src/hw/virtio-pci.c"\n #include "src/hw/virtio-mmio.c"\n #include "src/hw/virtio-blk.c"\n #include "src/hw/virtio-scsi.c"\n #include "src/hw/tpm_drivers.c"\n #include "src/hw/nvme.c"\n #include "src/sha256.c"\n #include "src/sha512.c"\n' > out/ccode32flat.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -fwhole-program -DWHOLE_PROGRAM -c out/ccode32flat.o.tmp.c -o out/ccode32flat.o In file included from ./src/biosvar.h:10, from ./src/misc.c:8, from out/ccode32flat.o.tmp.c:1: In function 'irqtimer_calc_ticks', inlined from 'irqtimer_calc' at ./src/clock.c:356:12, inlined from 'irqtimer_calc' at ./src/clock.c:352:1: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ ./src/clock.c: In function 'irqtimer_calc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ ./src/output.c: In function 'screenc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ ./src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ In function 'irqtimer_check', inlined from 'get_keystroke_full' at ./src/boot.c:661:13: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'irqtimer_check', inlined from 'boot_fail' at ./src/boot.c:974:41: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:47: In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:344:28: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:348:9: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_restore', inlined from 'init_pcirom' at ./src/optionroms.c:354:9: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ./src/cdrom.c: In function 'cdrom_boot': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at ./src/cdrom.c:242:9: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at ./src/post.c:114:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'bda_init' at ./src/post.c:91:46, inlined from 'interface_init' at ./src/post.c:114:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'kbd_init', inlined from 'interface_init' at ./src/post.c:121:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mouse_init' at ./src/mouse.c:23:5, inlined from 'interface_init' at ./src/post.c:122:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at ./src/misc.c:66:5, inlined from 'platform_hardware_setup' at ./src/post.c:146:5, inlined from 'maininit' at ./src/post.c:203:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'clock_setup', inlined from 'platform_hardware_setup' at ./src/post.c:154:5, inlined from 'maininit' at ./src/post.c:203:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:12: In function 'sercon_setup', inlined from 'maininit' at ./src/post.c:211:5: ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ In function 'floppy_setup', inlined from 'block_setup' at ./src/block.c:510:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5, inlined from 'maininit' at ./src/post.c:216:9: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'set_equipment_flags', inlined from 'serial_setup' at ./src/serial.c:56:5, inlined from 'device_hardware_setup' at ./src/post.c:133:5, inlined from 'maininit' at ./src/post.c:216:9: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'irqtimer_check', inlined from 'interactive_bootmenu' at ./src/boot.c:755:37, inlined from 'maininit' at ./src/post.c:224:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'malloc_prepboot', inlined from 'prepareboot' at ./src/post.c:172:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:5: In function 'map_hd_drive', inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ~~~^~~~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'fill_fdpt' at ./src/block.c:213:28, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:239:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:236:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:296:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:292:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compiling whole program out/code32seg.o printf '#include "src/string.c"\n #include "src/output.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/stacks.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n' > out/code32seg.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=0 -fwhole-program -DWHOLE_PROGRAM -c out/code32seg.o.tmp.c -o out/code32seg.o Compiling whole program out/ccode16.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n' > out/ccode16.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fwhole-program -DWHOLE_PROGRAM -c out/ccode16.o.tmp.c -o out/ccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/romlayout.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ src/romlayout.S -o out/romlayout.o Building ld scripts python3 ./scripts/buildversion.py -e "-2.fc38" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autoversion.h Version: 1.16.1-2.fc38 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/version.c -o out/version.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode32flat.o out/version.o -o out/code32flat.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode16.o out/romlayout.o -o out/code16.o x86_64-linux-gnu-objdump -thr out/code32flat.o > out/code32flat.o.objdump x86_64-linux-gnu-objdump -thr out/code32seg.o > out/code32seg.o.objdump x86_64-linux-gnu-objdump -thr out/code16.o > out/code16.o.objdump python3 ./scripts/layoutrom.py out/code16.o.objdump out/code32seg.o.objdump out/code32flat.o.objdump out/autoconf.h out/romlayout16.lds out/romlayout32seg.lds out/romlayout32flat.lds Fixed space: 0xe05b-0x10000 total: 8101 slack: 11 Percent slack: 0.1% 16bit size: 19904 32bit segmented size: 2299 32bit flat size: 22373 32bit flat init size: 45248 Lowmem size: 2176 f-segment var size: 1152 Linking out/rom16.o x86_64-linux-gnu-ld -T out/romlayout16.lds out/code16.o -o out/rom16.o Stripping out/rom16.noexec.o x86_64-linux-gnu-strip out/rom16.o -o out/rom16.o.strip.o python3 ./scripts/ldnoexec.py out/rom16.o.strip.o out/rom16.noexec.o Linking out/rom32seg.o x86_64-linux-gnu-ld -T out/romlayout32seg.lds out/code32seg.o -o out/rom32seg.o Stripping out/rom32seg.noexec.o x86_64-linux-gnu-strip out/rom32seg.o -o out/rom32seg.o.strip.o python3 ./scripts/ldnoexec.py out/rom32seg.o.strip.o out/rom32seg.noexec.o Linking out/rom.o x86_64-linux-gnu-ld -N -T out/romlayout32flat.lds out/rom16.noexec.o out/rom32seg.noexec.o out/code32flat.o -o out/rom.o Prepping out/bios.bin.prep rm -f out/bios.bin out/Csm16.bin out/bios.bin.elf x86_64-linux-gnu-objdump -thr out/rom.o > out/rom.o.objdump x86_64-linux-gnu-objcopy -O binary out/rom.o out/bios.bin.raw python3 ./scripts/checkrom.py out/rom.o.objdump 128 out/bios.bin.raw out/bios.bin.prep Total size: 96640 Fixed: 45728 Free: 34432 (used 73.7% of 128KiB rom) Creating out/bios.bin cp out/bios.bin.prep out/bios.bin + cp out/bios.bin binaries/bios-microvm.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-bochs-display vgabios.bin vgabios-bochs-display.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-bochs-display .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.1/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' + make V=1 EXTRAVERSION=-2.fc38 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ In function 'hook_timer_irq', inlined from 'vga_post' at vgasrc/vgainit.c:192:5: vgasrc/vgainit.c:121:21: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 121 | struct segoff_s oldirq = GET_IVT(0x08); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:128:5: note: in expansion of macro 'SET_IVT' 128 | SET_IVT(0x08, newirq); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'vga_set_mode' at vgasrc/vgabios.c:298:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'set_cursor_shape', inlined from 'handle_1001' at vgasrc/vgabios.c:357:5, inlined from 'handle_10' at vgasrc/vgabios.c:1105:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_clear_chars' at vgasrc/vgafb.c:377:9, inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_write_char' at vgasrc/vgafb.c:415:9, inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_read_char' at vgasrc/vgafb.c:468:9, inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o In file included from src/biosvar.h:10, from vgasrc/swcursor.c:7: vgasrc/swcursor.c: In function 'set_swcursor': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:41:16: note: in expansion of macro 'GET_BDA_EXT' 41 | u8 flags = GET_BDA_EXT(flags); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:48:42: note: in expansion of macro 'GET_BDA' 48 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:49:17: note: in expansion of macro 'GET_BDA' 49 | if (cp.x >= GET_BDA(video_cols) || cp.y > GET_BDA(video_rows) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:49:47: note: in expansion of macro 'GET_BDA' 49 | if (cp.x >= GET_BDA(video_cols) || cp.y > GET_BDA(video_rows) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:50:12: note: in expansion of macro 'GET_BDA' 50 | || GET_BDA(cursor_type) >= 0x2000) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/swcursor.c:54:5: note: in expansion of macro 'SET_BDA_EXT' 54 | SET_BDA_EXT(flags, (flags & ~BF_SWCURSOR) | (enable ? BF_SWCURSOR : 0)); | ^~~~~~~~~~~ In function 'gfx_set_swcursor', inlined from 'set_swcursor' at vgasrc/swcursor.c:57:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:22:19: note: in expansion of macro 'GET_BDA' 22 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'swcursor_pre_handle10' at vgasrc/swcursor.c:72:10: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ In function 'vga_emulate_text', inlined from 'swcursor_check_event' at vgasrc/swcursor.c:93:10: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/swcursor.c: In function 'swcursor_check_event': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:95:18: note: in expansion of macro 'GET_BDA' 95 | set_swcursor(GET_BDA(timer_counter) % 18 < 9); | ^~~~~~~ Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: ./vgasrc/vgabios.h: In function 'vga_emulate_text': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'bda_save_restore': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/cbvga.c: In function 'cbvga_set_mode': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/swcursor.c: In function 'set_swcursor': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/swcursor.c:41:16: note: in expansion of macro 'GET_BDA_EXT' 41 | u8 flags = GET_BDA_EXT(flags); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_swcursor' at ./vgasrc/swcursor.c:45:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/swcursor.c: In function 'set_swcursor': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/swcursor.c:54:5: note: in expansion of macro 'SET_BDA_EXT' 54 | SET_BDA_EXT(flags, (flags & ~BF_SWCURSOR) | (enable ? BF_SWCURSOR : 0)); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc38" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.1-2.fc38 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-bochs-display.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-cirrus vgabios.bin vgabios-cirrus.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-cirrus .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.1/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' + make V=1 EXTRAVERSION=-2.fc38 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc38" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.1-2.fc38 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-cirrus.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-isavga vgabios.bin vgabios-isavga.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-isavga .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.1/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' + make V=1 EXTRAVERSION=-2.fc38 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12, inlined from 'bochsvga_save_restore' at ./vgasrc/bochsvga.c:230:15: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc38" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.1-2.fc38 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-isavga.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-qxl vgabios.bin vgabios-qxl.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-qxl .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.1/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' + make V=1 EXTRAVERSION=-2.fc38 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12, inlined from 'bochsvga_save_restore' at ./vgasrc/bochsvga.c:230:15: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc38" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.1-2.fc38 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-qxl.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-stdvga vgabios.bin vgabios-stdvga.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-stdvga .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.1/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' + make V=1 EXTRAVERSION=-2.fc38 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12, inlined from 'bochsvga_save_restore' at ./vgasrc/bochsvga.c:230:15: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc38" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.1-2.fc38 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-stdvga.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-ramfb vgabios.bin vgabios-ramfb.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-ramfb .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.1/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' + make V=1 EXTRAVERSION=-2.fc38 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ In function 'hook_timer_irq', inlined from 'vga_post' at vgasrc/vgainit.c:192:5: vgasrc/vgainit.c:121:21: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 121 | struct segoff_s oldirq = GET_IVT(0x08); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:128:5: note: in expansion of macro 'SET_IVT' 128 | SET_IVT(0x08, newirq); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'vga_set_mode' at vgasrc/vgabios.c:298:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'set_cursor_shape', inlined from 'handle_1001' at vgasrc/vgabios.c:357:5, inlined from 'handle_10' at vgasrc/vgabios.c:1105:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_clear_chars' at vgasrc/vgafb.c:377:9, inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_write_char' at vgasrc/vgafb.c:415:9, inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_read_char' at vgasrc/vgafb.c:468:9, inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o In file included from src/biosvar.h:10, from vgasrc/swcursor.c:7: vgasrc/swcursor.c: In function 'set_swcursor': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:41:16: note: in expansion of macro 'GET_BDA_EXT' 41 | u8 flags = GET_BDA_EXT(flags); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:48:42: note: in expansion of macro 'GET_BDA' 48 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:49:17: note: in expansion of macro 'GET_BDA' 49 | if (cp.x >= GET_BDA(video_cols) || cp.y > GET_BDA(video_rows) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:49:47: note: in expansion of macro 'GET_BDA' 49 | if (cp.x >= GET_BDA(video_cols) || cp.y > GET_BDA(video_rows) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:50:12: note: in expansion of macro 'GET_BDA' 50 | || GET_BDA(cursor_type) >= 0x2000) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/swcursor.c:54:5: note: in expansion of macro 'SET_BDA_EXT' 54 | SET_BDA_EXT(flags, (flags & ~BF_SWCURSOR) | (enable ? BF_SWCURSOR : 0)); | ^~~~~~~~~~~ In function 'gfx_set_swcursor', inlined from 'set_swcursor' at vgasrc/swcursor.c:57:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:22:19: note: in expansion of macro 'GET_BDA' 22 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'swcursor_pre_handle10' at vgasrc/swcursor.c:72:10: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ In function 'vga_emulate_text', inlined from 'swcursor_check_event' at vgasrc/swcursor.c:93:10: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/swcursor.c: In function 'swcursor_check_event': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:95:18: note: in expansion of macro 'GET_BDA' 95 | set_swcursor(GET_BDA(timer_counter) % 18 < 9); | ^~~~~~~ Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: ./vgasrc/vgabios.h: In function 'vga_emulate_text': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'bda_save_restore': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/cbvga.c: In function 'cbvga_set_mode': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/swcursor.c: In function 'set_swcursor': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/swcursor.c:41:16: note: in expansion of macro 'GET_BDA_EXT' 41 | u8 flags = GET_BDA_EXT(flags); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_swcursor' at ./vgasrc/swcursor.c:45:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/swcursor.c: In function 'set_swcursor': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/swcursor.c:54:5: note: in expansion of macro 'SET_BDA_EXT' 54 | SET_BDA_EXT(flags, (flags & ~BF_SWCURSOR) | (enable ? BF_SWCURSOR : 0)); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc38" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.1-2.fc38 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-ramfb.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-vmware vgabios.bin vgabios-vmware.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-vmware .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.1/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' + make V=1 EXTRAVERSION=-2.fc38 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12, inlined from 'bochsvga_save_restore' at ./vgasrc/bochsvga.c:230:15: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc38" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.1-2.fc38 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-vmware.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-virtio vgabios.bin vgabios-virtio.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-virtio .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.1/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' + make V=1 EXTRAVERSION=-2.fc38 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12, inlined from 'bochsvga_save_restore' at ./vgasrc/bochsvga.c:230:15: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc38" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.1-2.fc38 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-virtio.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-ati vgabios.bin vgabios-ati.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-ati .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.1/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.1/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' + make V=1 EXTRAVERSION=-2.fc38 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.1/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.1 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.1/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.1/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.1/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.1/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc38" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.1-2.fc38 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-ati.bin + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.3x82eH + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x '!=' / ']' + rm -rf /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x ++ dirname /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd seabios-1.16.1 + mkdir -p /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x/usr/share/seabios + mkdir -p /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x/usr/share/seavgabios + install -m 0644 binaries/bios.bin /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x/usr/share/seabios/bios.bin + install -m 0644 binaries/bios-256k.bin /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x/usr/share/seabios/bios-256k.bin + install -m 0644 binaries/bios-csm.bin /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x/usr/share/seabios/bios-csm.bin + install -m 0644 binaries/bios-coreboot.bin /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x/usr/share/seabios/bios-coreboot.bin + install -m 0644 binaries/bios-microvm.bin /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x/usr/share/seabios/bios-microvm.bin + install -m 0644 binaries/vgabios-ati.bin binaries/vgabios-bochs-display.bin binaries/vgabios-cirrus.bin binaries/vgabios-isavga.bin binaries/vgabios-qxl.bin binaries/vgabios-ramfb.bin binaries/vgabios-stdvga.bin binaries/vgabios-virtio.bin binaries/vgabios-vmware.bin /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x/usr/share/seavgabios + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 + /usr/lib/rpm/redhat/brp-python-hardlink Processing files: seabios-1.16.1-2.fc38.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.15Dpyq + umask 022 + cd /builddir/build/BUILD + cd seabios-1.16.1 + DOCDIR=/builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x/usr/share/doc/seabios + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x/usr/share/doc/seabios + cp -pr COPYING /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x/usr/share/doc/seabios + cp -pr COPYING.LESSER /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x/usr/share/doc/seabios + cp -pr README /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x/usr/share/doc/seabios + RPM_EC=0 ++ jobs -p + exit 0 Provides: seabios = 1.16.1-2.fc38 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Processing files: seabios-bin-1.16.1-2.fc38.noarch Provides: seabios-bin = 1.16.1-2.fc38 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Processing files: seavgabios-bin-1.16.1-2.fc38.noarch Provides: seavgabios-bin = 1.16.1-2.fc38 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x Wrote: /builddir/build/RPMS/seavgabios-bin-1.16.1-2.fc38.noarch.rpm Wrote: /builddir/build/RPMS/seabios-1.16.1-2.fc38.noarch.rpm Wrote: /builddir/build/RPMS/seabios-bin-1.16.1-2.fc38.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.QFXmKd + umask 022 + cd /builddir/build/BUILD + cd seabios-1.16.1 + /usr/bin/rm -rf /builddir/build/BUILDROOT/seabios-1.16.1-2.fc38.s390x + RPM_EC=0 ++ jobs -p + exit 0 Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.pDeg7P + umask 022 + cd /builddir/build/BUILD + rm -rf seabios-1.16.1 seabios-1.16.1.gemspec + RPM_EC=0 ++ jobs -p + exit 0 Child return code was: 0