=>> Building misc/seabios build started at Thu Nov 16 23:42:14 CST 2023 port directory: /usr/ports/misc/seabios package name: seabios-1.16.1_1 building for: FreeBSD 140amd64-current-job-01 14.0-RELEASE FreeBSD 14.0-RELEASE amd64 maintained by: royger@FreeBSD.org Makefile ident: Poudriere version: 3.3.7_1 Host OSVERSION: 1400097 Jail OSVERSION: 1400097 Job Id: 01 ---Begin Environment--- SHELL=/bin/sh OSVERSION=1400097 UNAME_v=FreeBSD 14.0-RELEASE UNAME_r=14.0-RELEASE BLOCKSIZE=K MAIL=/var/mail/root MM_CHARSET=UTF-8 LANG=C.UTF-8 STATUS=1 HOME=/root PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin LOCALBASE=/usr/local USER=root USE_COLORS=no LIBEXECPREFIX=/usr/local/libexec/poudriere POUDRIERE_VERSION=3.3.7_1 MASTERMNT=/poudriere/data/.m/140amd64-current/ref POUDRIERE_BUILD_TYPE=bulk PACKAGE_BUILDING=yes SAVED_TERM=screen-256color PWD=/poudriere/data/.m/140amd64-current/ref/.p/pool P_PORTS_FEATURES=FLAVORS SELECTED_OPTIONS MASTERNAME=140amd64-current SCRIPTPREFIX=/usr/local/share/poudriere OLDPWD=/poudriere/data/.m/140amd64-current/ref/.p SCRIPTPATH=/usr/local/share/poudriere/bulk.sh POUDRIEREPATH=/usr/local/bin/poudriere ---End Environment--- ---Begin Poudriere Port Flags/Env--- PORT_FLAGS= PKGENV= FLAVOR= DEPENDS_ARGS= MAKE_ARGS= ---End Poudriere Port Flags/Env--- ---Begin OPTIONS List--- ---End OPTIONS List--- --MAINTAINER-- royger@FreeBSD.org --End MAINTAINER-- --CONFIGURE_ARGS-- --End CONFIGURE_ARGS-- --CONFIGURE_ENV-- MAKE=gmake PYTHON="/usr/local/bin/python3.9" XDG_DATA_HOME=/wrkdirs/usr/ports/misc/seabios/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/misc/seabios/work XDG_CACHE_HOME=/wrkdirs/usr/ports/misc/seabios/work/.cache HOME=/wrkdirs/usr/ports/misc/seabios/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/misc/seabios/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/misc/seabios/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh --End CONFIGURE_ENV-- --MAKE_ENV-- XDG_DATA_HOME=/wrkdirs/usr/ports/misc/seabios/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/misc/seabios/work XDG_CACHE_HOME=/wrkdirs/usr/ports/misc/seabios/work/.cache HOME=/wrkdirs/usr/ports/misc/seabios/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/misc/seabios/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/misc/seabios/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES ADDR2LINE="/usr/local/bin/addr2line" AR="/usr/local/bin/ar" AS="/usr/local/bin/as" CPPFILT="/usr/local/bin/c++filt" GPROF="/usr/local/bin/gprof" LD="/usr/local/bin/ld" NM="/usr/local/bin/nm" OBJCOPY="/usr/local/bin/objcopy" OBJDUMP="/usr/local/bin/objdump" RANLIB="/usr/local/bin/ranlib" READELF="/usr/local/bin/readelf" SIZE="/usr/local/bin/size" STRINGS="/usr/local/bin/strings" PREFIX=/usr/local LOCALBASE=/usr/local CC="gcc12" CFLAGS="-O2 -pipe -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc12 -fno-strict-aliasing " CPP="cpp12" CPPFLAGS="" LDFLAGS=" -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc12 -L/usr/local/lib/gcc12 " LIBS="" CXX="g++12" CXXFLAGS="-O2 -pipe -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc12 -Wl,-rpath=/usr/local/lib/gcc12 " MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" --End MAKE_ENV-- --PLIST_SUB-- PYTHON_INCLUDEDIR=include/python3.9 PYTHON_LIBDIR=lib/python3.9 PYTHON_PLATFORM=freebsd14 PYTHON_SITELIBDIR=lib/python3.9/site-packages PYTHON_SUFFIX=39 PYTHON_EXT_SUFFIX=.cpython-39 PYTHON_VER=3.9 PYTHON_VERSION=python3.9 PYTHON2="@comment " PYTHON3="" OSREL=14.0 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/seabios" EXAMPLESDIR="share/examples/seabios" DATADIR="share/seabios" WWWDIR="www/seabios" ETCDIR="etc/seabios" --End PLIST_SUB-- --SUB_LIST-- PYTHON_INCLUDEDIR=/usr/local/include/python3.9 PYTHON_LIBDIR=/usr/local/lib/python3.9 PYTHON_PLATFORM=freebsd14 PYTHON_SITELIBDIR=/usr/local/lib/python3.9/site-packages PYTHON_SUFFIX=39 PYTHON_EXT_SUFFIX=.cpython-39 PYTHON_VER=3.9 PYTHON_VERSION=python3.9 PYTHON2="@comment " PYTHON3="" PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/seabios DOCSDIR=/usr/local/share/doc/seabios EXAMPLESDIR=/usr/local/share/examples/seabios WWWDIR=/usr/local/www/seabios ETCDIR=/usr/local/etc/seabios --End SUB_LIST-- ---Begin make.conf--- USE_PACKAGE_DEPENDS=yes BATCH=yes WRKDIRPREFIX=/wrkdirs PORTSDIR=/usr/ports PACKAGES=/packages DISTDIR=/distfiles FORCE_PACKAGE=yes PACKAGE_BUILDING=yes PACKAGE_BUILDING_FLAVORS=yes #### /poudriere/control/default-make.conf #### #DEFAULT_VERSIONS+=apache=2.4 #DEFAULT_VERSIONS+=corosync=3 #DEFAULT_VERSIONS+=gcc=12 DEFAULT_VERSIONS+=ghostscript=agpl DEFAULT_VERSIONS+=java=17 DEFAULT_VERSIONS+=linux=c7_64 #DEFAULT_VERSIONS+=llvm=17 #DEFAULT_VERSIONS+=lua=5.4 #DEFAULT_VERSIONS+=mono=5.20 DEFAULT_VERSIONS+=mysql=10.11m #DEFAULT_VERSIONS+=perl5=5.38 DEFAULT_VERSIONS+=pgsql=15 #DEFAULT_VERSIONS+=php=8.0 #DEFAULT_VERSIONS+=python2=2.7 #DEFAULT_VERSIONS+=python3=3.9 #DEFAULT_VERSIONS+=python=3.9 #DEFAULT_VERSIONS+=samba=4.16 #DEFAULT_VERSIONS+=ssl=libressl DEFAULT_VERSIONS+=ssl=base DEFAULT_VERSIONS+=tcltk=8.6 WANT_OPENLDAP_SASL=yes # We play ball with... LICENSES_GROUPS_ACCEPTED+=FSF LICENSES_GROUPS_ACCEPTED+=OSI LICENSES_GROUPS_ACCEPTED+=COPYFREE LICENSES_GROUPS_ACCEPTED+=FONTS LICENSES_ACCEPTED+=GPLv2+ LICENSES_ACCEPTED+=MSPAT LICENSES_ACCEPTED+=NONE LICENSES_ACCEPTED+='GPLV2+ MSPAT' # Until 1.18 gets its modules crap sorted #GO_PORT=lang/go117 # Ehh, screw it. DISABLE_LICENSES=yes # FINALLY. BUILD_ALL_PYTHON_FLAVORS=yes # Duh WITH_PKGNG=yes # Workaround for FreeBSD PR 201193 WITH_MPM=event # Workaround for FreeBSD PR 234914 -- JTFC, FreeBSD, figure it out. .if ${.CURDIR:M*/www/mod_php7[0-9]} CONFIGURE_ENV+= pthreads_working="yes" .endif #MESA_LLVM_VER = 13 # ports infrastructure dudes are hacks. security_p5-GSSAPI_SET = GSSAPI_MIT OPTIONS_UNSET += GSSAPI_BASE GSSAPI_NONE GSSAPI_HEIMDAL OPTIONS_UNSET += WAYLAND OPTIONS_SET += GSSAPI_MIT #KRB5_VERSION=121 #security_p5-GSSAPI_SET = GSSAPI_HEIMDAL #OPTIONS_UNSET += GSSAPI_BASE GSSAPI_NONE GSSAPI_MIT #OPTIONS_SET += GSSAPI_HEIMDAL WITH_CCACHE_BUILD=yes CCACHE_DIR=/root/.ccache #### Misc Poudriere #### .include "/etc/make.conf.ports_env" GID=0 UID=0 ---End make.conf--- --Resource limits-- cpu time (seconds, -t) unlimited file size (512-blocks, -f) unlimited data seg size (kbytes, -d) 33554432 stack size (kbytes, -s) 524288 core file size (512-blocks, -c) unlimited max memory size (kbytes, -m) unlimited locked memory (kbytes, -l) unlimited max user processes (-u) 63795 open files (-n) 1024 virtual mem size (kbytes, -v) unlimited swap limit (kbytes, -w) unlimited socket buffer size (bytes, -b) unlimited pseudo-terminals (-p) unlimited kqueues (-k) unlimited umtx shared locks (-o) unlimited --End resource limits-- =================================================== =========================================================================== =================================================== ===> seabios-1.16.1_1 depends on file: /usr/local/sbin/pkg - not found ===> Installing existing package /packages/All/pkg-1.20.9.pkg [140amd64-current-job-01] Installing pkg-1.20.9... [140amd64-current-job-01] Extracting pkg-1.20.9: .......... done ===> seabios-1.16.1_1 depends on file: /usr/local/sbin/pkg - found ===> Returning to build of seabios-1.16.1_1 =========================================================================== =================================================== =========================================================================== =================================================== ===> Fetching all distfiles required by seabios-1.16.1_1 for building =========================================================================== =================================================== ===> Fetching all distfiles required by seabios-1.16.1_1 for building => SHA256 Checksum OK for seabios-1.16.1.tar.gz. =========================================================================== =================================================== =========================================================================== =================================================== ===> Fetching all distfiles required by seabios-1.16.1_1 for building ===> Extracting for seabios-1.16.1_1 => SHA256 Checksum OK for seabios-1.16.1.tar.gz. =========================================================================== =================================================== =========================================================================== =================================================== ===> Patching for seabios-1.16.1_1 =========================================================================== =================================================== ===> seabios-1.16.1_1 depends on package: gmake>=4.3 - not found ===> Installing existing package /packages/All/gmake-4.3_2.pkg [140amd64-current-job-01] Installing gmake-4.3_2... [140amd64-current-job-01] `-- Installing gettext-runtime-0.22.3... [140amd64-current-job-01] | `-- Installing indexinfo-0.3.1... [140amd64-current-job-01] | `-- Extracting indexinfo-0.3.1: . done [140amd64-current-job-01] `-- Extracting gettext-runtime-0.22.3: .......... done [140amd64-current-job-01] Extracting gmake-4.3_2: .......... done ===> seabios-1.16.1_1 depends on package: gmake>=4.3 - found ===> Returning to build of seabios-1.16.1_1 ===> seabios-1.16.1_1 depends on file: /usr/local/bin/python3.9 - not found ===> Installing existing package /packages/All/python39-3.9.18.pkg [140amd64-current-job-01] Installing python39-3.9.18... [140amd64-current-job-01] `-- Installing libffi-3.4.4... [140amd64-current-job-01] `-- Extracting libffi-3.4.4: .......... done [140amd64-current-job-01] `-- Installing mpdecimal-2.5.1... [140amd64-current-job-01] `-- Extracting mpdecimal-2.5.1: .......... done [140amd64-current-job-01] `-- Installing readline-8.2.1... [140amd64-current-job-01] `-- Extracting readline-8.2.1: .......... done [140amd64-current-job-01] Extracting python39-3.9.18: .......... done ===== Message from python39-3.9.18: -- Note that some standard Python modules are provided as separate ports as they require additional dependencies. They are available as: py39-gdbm databases/py-gdbm@py39 py39-sqlite3 databases/py-sqlite3@py39 py39-tkinter x11-toolkits/py-tkinter@py39 ===> seabios-1.16.1_1 depends on file: /usr/local/bin/python3.9 - found ===> Returning to build of seabios-1.16.1_1 ===> seabios-1.16.1_1 depends on executable: gcc12 - not found ===> Installing existing package /packages/All/gcc12-12.2.0_6.pkg [140amd64-current-job-01] Installing gcc12-12.2.0_6... [140amd64-current-job-01] `-- Installing binutils-2.40_4,1... [140amd64-current-job-01] | `-- Installing zstd-1.5.5... [140amd64-current-job-01] | | `-- Installing liblz4-1.9.4,1... [140amd64-current-job-01] | | `-- Extracting liblz4-1.9.4,1: .......... done [140amd64-current-job-01] | `-- Extracting zstd-1.5.5: .......... done [140amd64-current-job-01] `-- Extracting binutils-2.40_4,1: .......... done [140amd64-current-job-01] `-- Installing gmp-6.3.0... [140amd64-current-job-01] `-- Extracting gmp-6.3.0: .......... done [140amd64-current-job-01] `-- Installing mpc-1.3.1_1... [140amd64-current-job-01] | `-- Installing mpfr-4.2.1,1... [140amd64-current-job-01] | `-- Extracting mpfr-4.2.1,1: .......... done [140amd64-current-job-01] `-- Extracting mpc-1.3.1_1: ...... done [140amd64-current-job-01] Extracting gcc12-12.2.0_6: .......... done ===== Message from gcc12-12.2.0_6: -- To ensure binaries built with this toolchain find appropriate versions of the necessary run-time libraries, you may want to link using -Wl,-rpath=/usr/local/lib/gcc12 For ports leveraging USE_GCC, USES=compiler, or USES=fortran this happens transparently. ===> seabios-1.16.1_1 depends on executable: gcc12 - found ===> Returning to build of seabios-1.16.1_1 ===> seabios-1.16.1_1 depends on file: /usr/local/bin/as - found ===> seabios-1.16.1_1 depends on file: /usr/local/bin/ccache - not found ===> Installing existing package /packages/All/ccache-3.7.12_4.pkg [140amd64-current-job-01] Installing ccache-3.7.12_4... [140amd64-current-job-01] Extracting ccache-3.7.12_4: ......... done Create compiler links... create symlink for cc create symlink for cc (world) create symlink for c++ create symlink for c++ (world) create symlink for CC create symlink for CC (world) create symlink for gcc12 create symlink for gcc12 (world) create symlink for g++12 create symlink for g++12 (world) create symlink for cpp12 create symlink for cpp12 (world) create symlink for clang create symlink for clang (world) create symlink for clang++ create symlink for clang++ (world) ===== Message from ccache-3.7.12_4: -- NOTE: Please read /usr/local/share/doc/ccache/ccache-howto-freebsd.txt for information on using ccache with FreeBSD ports and src. ===> seabios-1.16.1_1 depends on file: /usr/local/bin/ccache - found ===> Returning to build of seabios-1.16.1_1 =========================================================================== =================================================== =========================================================================== =================================================== ===> Configuring for seabios-1.16.1_1 =========================================================================== =================================================== ===> Building for seabios-1.16.1_1 gmake[1]: Entering directory '/wrkdirs/usr/ports/misc/seabios/work/seabios-1.16.1' gmake[2]: Entering directory '/wrkdirs/usr/ports/misc/seabios/work/seabios-1.16.1' gmake[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. scripts/kconfig/conf --olddefconfig /wrkdirs/usr/ports/misc/seabios/work/seabios-1.16.1/src/Kconfig # # configuration written to /wrkdirs/usr/ports/misc/seabios/work/seabios-1.16.1/.config # gmake[2]: Leaving directory '/wrkdirs/usr/ports/misc/seabios/work/seabios-1.16.1/out' Compiling to assembler out/src/asm-offsets.s gmake[2]: Entering directory '/wrkdirs/usr/ports/misc/seabios/work/seabios-1.16.1' gmake[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. Build Kconfig config file gmake[2]: Leaving directory '/wrkdirs/usr/ports/misc/seabios/work/seabios-1.16.1/out' Compile checking out/src/misc.o Compile checking out/src/stacks.o Compile checking out/src/output.o Compile checking out/src/string.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/block.o Compile checking out/src/cdrom.o Compile checking out/src/disk.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/mouse.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); | ^~~~~~~ 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/kbd.o Compile checking out/src/system.o Compile checking out/src/serial.o Compile checking out/src/sercon.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); | ^~~~~~~ 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); | ^~~~~~~ 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/clock.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/resume.o Compile checking out/src/pnpbios.o Compile checking out/src/vgahooks.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/pcibios.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/apm.o Compile checking out/src/cp437.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:383:11: note: in expansion of macro 'GET_BDA' 383 | if (!(GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING)) | ^~~~~~~ In function 'clear_usertimer', inlined from 'clear_usertimer' at src/clock.c:381: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:386:5: note: in expansion of macro 'SET_BDA' 386 | 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 '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:341:13: note: in expansion of macro 'GET_BDA' 341 | 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:349:16: note: in expansion of macro 'GET_BDA' 349 | 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:357:15: note: in expansion of macro 'GET_BDA' 357 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_1586' at src/clock.c:403: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:369:9: note: in expansion of macro 'GET_BDA' 369 | 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:373:5: note: in expansion of macro 'SET_BDA' 373 | 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:374:5: note: in expansion of macro 'SET_BDA' 374 | 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:374:5: note: in expansion of macro 'SET_BDA' 374 | 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:375:5: note: in expansion of macro 'SET_BDA' 375 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_158300' at src/clock.c:417:15, inlined from 'handle_1583' at src/clock.c:448: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:369:9: note: in expansion of macro 'GET_BDA' 369 | 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:373:5: note: in expansion of macro 'SET_BDA' 373 | 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:374:5: note: in expansion of macro 'SET_BDA' 374 | 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:374:5: note: in expansion of macro 'SET_BDA' 374 | 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:375:5: note: in expansion of macro 'SET_BDA' 375 | 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:484:10: note: in expansion of macro 'GET_BDA' 484 | 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:488:16: note: in expansion of macro 'GET_BDA' 488 | 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:501:9: note: in expansion of macro 'SET_BDA' 501 | 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:491:34: note: in expansion of macro 'GET_BDA' 491 | 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:491:34: note: in expansion of macro 'GET_BDA' 491 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ Compile checking out/src/hw/pci.o Compile checking out/src/hw/timer.o Compile checking out/src/hw/rtc.o Compile checking out/src/hw/dma.o Compile checking out/src/hw/pic.o Compile checking out/src/hw/ps2port.o Compile checking out/src/hw/serialio.o Compile checking out/src/hw/usb.o Compile checking out/src/hw/usb-uhci.o Compile checking out/src/hw/usb-ohci.o Compile checking out/src/hw/usb-ehci.o Compile checking out/src/hw/usb-hid.o Compile checking out/src/hw/usb-msc.o Compile checking out/src/hw/usb-uas.o Compile checking out/src/hw/blockcmd.o Compile checking out/src/hw/floppy.o Compile checking out/src/hw/ata.o Compile checking out/src/hw/ramdisk.o Compile checking out/src/hw/lsi-scsi.o Compile checking out/src/hw/esp-scsi.o Compile checking out/src/hw/megasas.o 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/mpt-scsi.o Compile checking out/src/post.o Compile checking out/src/e820map.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/malloc.o Compile checking out/src/romfile.o Compile checking out/src/x86.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/optionroms.o Compile checking out/src/pmm.o Compile checking out/src/font.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/boot.o Compile checking out/src/bootsplash.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/jpeg.o Compile checking out/src/bmp.o Compile checking out/src/tcgbios.o Compile checking out/src/sha1.o Compile checking out/src/hw/pcidevice.o Compile checking out/src/hw/ahci.o Compile checking out/src/hw/pvscsi.o Compile checking out/src/hw/usb-xhci.o Compile checking out/src/hw/usb-hub.o Compile checking out/src/hw/sdcard.o Compile checking out/src/fw/coreboot.o Compile checking out/src/fw/lzmadecode.o Compile checking out/src/fw/multiboot.o Compile checking out/src/fw/csm.o Compile checking out/src/fw/biostables.o Compile checking out/src/fw/paravirt.o Compile checking out/src/fw/shadow.o Compile checking out/src/fw/pciinit.o Compile checking out/src/fw/smm.o Compile checking out/src/fw/smp.o Compile checking out/src/fw/mtrr.o Compile checking out/src/fw/xen.o Compile checking out/src/fw/acpi.o Compile checking out/src/fw/mptable.o Compile checking out/src/fw/pirtable.o Compile checking out/src/fw/smbios.o Compile checking out/src/fw/romfile_loader.o Compile checking out/src/fw/dsdt_parser.o Compile checking out/src/hw/virtio-ring.o Compile checking out/src/hw/virtio-pci.o Compile checking out/src/hw/virtio-mmio.o Compile checking out/src/hw/virtio-blk.o Compile checking out/src/hw/virtio-scsi.o Compile checking out/src/hw/tpm_drivers.o Compile checking out/src/hw/nvme.o Compile checking out/src/sha256.o Compile checking out/src/sha512.o Compiling whole program out/code32seg.o Compiling whole program out/ccode16.o Generating offset file out/asm-offsets.h Compiling (16bit) out/romlayout.o Compiling whole program 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:350:12, inlined from 'irqtimer_calc' at ./src/clock.c:346: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:341:13: note: in expansion of macro 'GET_BDA' 341 | 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:349:16: note: in expansion of macro 'GET_BDA' 349 | 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:357:15: note: in expansion of macro 'GET_BDA' 357 | 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:357:15: note: in expansion of macro 'GET_BDA' 357 | 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:357:15: note: in expansion of macro 'GET_BDA' 357 | 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); | ^~~~~~~ Building ld scripts Version: 1.16.1-20231117_054232-140amd64-current-job-01 /usr/local/bin/ld: warning: out/romlayout.o: missing .note.GNU-stack section implies executable stack /usr/local/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker Fixed space: 0xe05b-0x10000 total: 8101 slack: 15 Percent slack: 0.2% 16bit size: 38112 32bit segmented size: 2297 32bit flat size: 50903 32bit flat init size: 85056 Lowmem size: 2240 f-segment var size: 1232 Linking out/rom16.o Linking out/rom32seg.o /usr/local/bin/ld: warning: out/code16.o: requires executable stack (because the .note.GNU-stack section is executable) /usr/local/bin/ld: warning: out/rom16.o has a LOAD segment with RWX permissions Stripping out/rom16.noexec.o Stripping out/rom32seg.noexec.o Linking out/rom.o /usr/local/bin/ld: warning: out/rom32seg.noexec.o: missing .note.GNU-stack section implies executable stack /usr/local/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker /usr/local/bin/ld: warning: out/rom.o has a LOAD segment with RWX permissions Prepping out/bios.bin.prep Total size: 186176 Fixed: 92544 Free: 75968 (used 71.0% of 256KiB rom) Creating out/bios.bin gmake[1]: Leaving directory '/wrkdirs/usr/ports/misc/seabios/work/seabios-1.16.1' =========================================================================== =================================================== =========================================================================== =================================================== ===> Staging for seabios-1.16.1_1 ===> Generating temporary packing list /bin/mkdir -p /wrkdirs/usr/ports/misc/seabios/work/stage/usr/local/share/seabios install -m 0644 /wrkdirs/usr/ports/misc/seabios/work/seabios-1.16.1/out/bios.bin /wrkdirs/usr/ports/misc/seabios/work/stage/usr/local/share/seabios ====> Compressing man pages (compress-man) =========================================================================== =================================================== ===> Building package for seabios-1.16.1_1 =========================================================================== =>> Cleaning up wrkdir ===> Cleaning for seabios-1.16.1_1 build of misc/seabios | seabios-1.16.1_1 ended at Thu Nov 16 23:42:33 CST 2023 build time: 00:00:19