=>> Building misc/seabios build started at Fri Mar 29 19:19:31 GMT 2024 port directory: /usr/ports/misc/seabios package name: seabios-1.16.1_1 building for: FreeBSD pkg-builder.dan.net.uk 13.2-RELEASE-p10 FreeBSD 13.2-RELEASE-p10 amd64 maintained by: royger@FreeBSD.org Makefile datestamp: -rw-r--r-- 1 root wheel 678 Apr 24 2023 /usr/ports/misc/seabios/Makefile Ports top last git commit: c2c35d895e Ports top unclean checkout: yes Port dir last git commit: 8d3e020ed0 Port dir unclean checkout: no Poudriere version: poudriere-git-3.4.99.20240122_1 Host OSVERSION: 1400097 Jail OSVERSION: 1302001 Job Id: 03 ---Begin Environment--- SHELL=/bin/csh OSVERSION=1302001 UNAME_v=FreeBSD 13.2-RELEASE-p10 UNAME_r=13.2-RELEASE-p10 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 MAKE_OBJDIR_CHECK_WRITABLE=0 LOCALBASE=/usr/local USER=root POUDRIERE_NAME=poudriere-git LIBEXECPREFIX=/usr/local/libexec/poudriere POUDRIERE_VERSION=3.4.99.20240122_1 MASTERMNT=/usr/local/poudriere/data/.m/13-amd64-default-dan/ref LC_COLLATE=C POUDRIERE_BUILD_TYPE=bulk PACKAGE_BUILDING=yes SAVED_TERM=screen OUTPUT_REDIRECTED_STDERR=4 OUTPUT_REDIRECTED=1 PWD=/usr/local/poudriere/data/.m/13-amd64-default-dan/03/.p OUTPUT_REDIRECTED_STDOUT=3 P_PORTS_FEATURES=FLAVORS SUBPACKAGES SELECTED_OPTIONS MASTERNAME=13-amd64-default-dan SCRIPTPREFIX=/usr/local/share/poudriere SCRIPTNAME=bulk.sh OLDPWD=/usr/local/poudriere/data/.m/13-amd64-default-dan/ref/.p/pool POUDRIERE_PKGNAME=poudriere-git-3.4.99.20240122_1 SCRIPTPATH=/usr/local/share/poudriere/bulk.sh POUDRIEREPATH=/usr/local/bin/poudriere ---End Environment--- ---Begin Poudriere Port Flags/Env--- PORT_FLAGS= PKGENV= FLAVOR= 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=/ccache/libexec/ccache:/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 CCACHE_DIR="/root/.ccache" --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=/ccache/libexec/ccache:/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="gcc13" CFLAGS="-O2 -pipe -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc13 -fno-strict-aliasing " CPP="cpp13" CPPFLAGS="" LDFLAGS=" -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc13 -L/usr/local/lib/gcc13 " LIBS="" CXX="g++13" CXXFLAGS="-O2 -pipe -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc13 -Wl,-rpath=/usr/local/lib/gcc13 " CCACHE_DIR="/root/.ccache" 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=freebsd13 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=13.2 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=freebsd13 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 #### #### CCACHE_CPP2=1 WITH_SSP_PORTS=yes WITH_SSP=yes #WITH_LTO=yes DISABLE_LICENSES=yes LICENSES_ACCEPTED=AGPLv3 APACHE10 APACHE11 APACHE20 ART10 ARTPERL10 ART20 BSD BSD2CLAUSE BSD3CLAUSE BSD4CLAUSE BSL CC0-1.0 CDDL ClArtistic EPL GFDL GMGPL GPLv1 GPLv2 GPLv3 GPLv3RLE ISCL LGPL20 LGPL21 LGPL3 LPPL10 LPPL11 LPPL12 LPPL13 LPPL13a LPPL13b LPPL13c MIT MPL OpenSSL OFL10 OFL11 OWL PostgreSQL PHP202 PHP30 PHP301 PSFL RUBY ZLIB ZPL21 SVM-Light EULA ALASIR Microsoft-exFAT SIMIAN UDEVGAME unknown MTA COMMERCIAL teamspeak NO_LICENSES_DIALOGS=yes #### #### NO_IGNORE=yes DEFAULT_VERSIONS+=ssl=openssl mysql=8.0 imagemagick=7 samba=4.13 java=18 WITH_SETID_MODE=force PHP_ZTS=enabled OPTIONS_UNSET+=OPENJPEG OPTIONS_UNSET+=GSSAPI_BASE OPTIONS_SET+=ZTS OPTIONS_SET+=GSSAPI_NONE WITH_CCACHE_BUILD=yes CCACHE_DIR=/root/.ccache NO_CCACHE_DEPEND=1 CCACHE_WRAPPER_PATH= /ccache/libexec/ccache #### Misc Poudriere #### .include "/etc/make.conf.ports_env" GID=0 UID=0 DISABLE_MAKE_JOBS=poudriere ---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) 89999 open files (-n) 8192 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-- =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> seabios-1.16.1_1 depends on file: /usr/local/sbin/pkg - not found ===> Installing existing package /packages/All/pkg-1.20.9_1.pkg [pkg-builder.dan.net.uk] Installing pkg-1.20.9_1... [pkg-builder.dan.net.uk] Extracting pkg-1.20.9_1: .......... done ===> seabios-1.16.1_1 depends on file: /usr/local/sbin/pkg - found ===> Returning to build of seabios-1.16.1_1 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Fetching all distfiles required by seabios-1.16.1_1 for building =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Fetching all distfiles required by seabios-1.16.1_1 for building => SHA256 Checksum OK for seabios-1.16.1.tar.gz. =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> 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. =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Patching for seabios-1.16.1_1 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> seabios-1.16.1_1 depends on package: gmake>=4.4.1 - not found ===> Installing existing package /packages/All/gmake-4.4.1.pkg [pkg-builder.dan.net.uk] Installing gmake-4.4.1... [pkg-builder.dan.net.uk] `-- Installing gettext-runtime-0.22.3_1... [pkg-builder.dan.net.uk] | `-- Installing indexinfo-0.3.1... [pkg-builder.dan.net.uk] | `-- Extracting indexinfo-0.3.1: . done [pkg-builder.dan.net.uk] `-- Extracting gettext-runtime-0.22.3_1: .......... done [pkg-builder.dan.net.uk] Extracting gmake-4.4.1: .......... done ===> seabios-1.16.1_1 depends on package: gmake>=4.4.1 - 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_1.pkg [pkg-builder.dan.net.uk] Installing python39-3.9.18_1... [pkg-builder.dan.net.uk] `-- Installing libffi-3.4.4_1... [pkg-builder.dan.net.uk] `-- Extracting libffi-3.4.4_1: .......... done [pkg-builder.dan.net.uk] `-- Installing mpdecimal-2.5.1... [pkg-builder.dan.net.uk] `-- Extracting mpdecimal-2.5.1: .......... done [pkg-builder.dan.net.uk] `-- Installing openssl-3.0.13_1,1... [pkg-builder.dan.net.uk] `-- Extracting openssl-3.0.13_1,1: .......... done [pkg-builder.dan.net.uk] `-- Installing readline-8.2.10... [pkg-builder.dan.net.uk] `-- Extracting readline-8.2.10: .......... done [pkg-builder.dan.net.uk] Extracting python39-3.9.18_1: .......... done ===== Message from python39-3.9.18_1: -- 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: gcc13 - not found ===> Installing existing package /packages/All/gcc13-13.2.0_4.pkg [pkg-builder.dan.net.uk] Installing gcc13-13.2.0_4... [pkg-builder.dan.net.uk] `-- Installing binutils-2.40_5,1... [pkg-builder.dan.net.uk] | `-- Installing zstd-1.5.5_1... [pkg-builder.dan.net.uk] | | `-- Installing liblz4-1.9.4_1,1... [pkg-builder.dan.net.uk] | | `-- Extracting liblz4-1.9.4_1,1: .......... done [pkg-builder.dan.net.uk] | `-- Extracting zstd-1.5.5_1: .......... done [pkg-builder.dan.net.uk] `-- Extracting binutils-2.40_5,1: .......... done [pkg-builder.dan.net.uk] `-- Installing gmp-6.3.0... [pkg-builder.dan.net.uk] `-- Extracting gmp-6.3.0: .......... done [pkg-builder.dan.net.uk] `-- Installing mpc-1.3.1_1... [pkg-builder.dan.net.uk] | `-- Installing mpfr-4.2.1,1... [pkg-builder.dan.net.uk] | `-- Extracting mpfr-4.2.1,1: .......... done [pkg-builder.dan.net.uk] `-- Extracting mpc-1.3.1_1: ...... done [pkg-builder.dan.net.uk] Extracting gcc13-13.2.0_4: .......... done create symlink for gcc13 create symlink for gcc13 (world) create symlink for g++13 create symlink for g++13 (world) create symlink for cpp13 create symlink for cpp13 (world) ===== Message from gcc13-13.2.0_4: -- 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/gcc13 For ports leveraging USE_GCC, USES=compiler, or USES=fortran this happens transparently. ===> seabios-1.16.1_1 depends on executable: gcc13 - found ===> Returning to build of seabios-1.16.1_1 ===> seabios-1.16.1_1 depends on file: /usr/local/bin/as - found =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Configuring for seabios-1.16.1_1 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Building for seabios-1.16.1_1 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 # Build Kconfig config file Compile checking out/src/misc.o In file included from src/biosvar.h:10, from src/misc.c:8: src/misc.c: In function 'handle_12': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds=] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:36:16: note: in expansion of macro 'GET_BDA' 36 | regs->ax = GET_BDA(mem_size_kb); | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~ In function 'mathcp_setup': cc1: note: source object is likely at address zero In function 'set_equipment_flags', inlined from 'mathcp_setup' at src/misc.c:66: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/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'mathcp_setup': cc1: note: source object is likely at address zero Compile checking out/src/stacks.o Compile checking out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ cc1: note: source object is likely at address zero Compile checking out/src/string.o Compile checking out/src/block.o src/block.c: In function 'map_hd_drive': src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds=] 261 | int hdid = bda->hdcount; | ^~ cc1: note: source object is likely at address zero 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 'map_hd_drive': cc1: note: source object is likely at address zero 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 'map_hd_drive': cc1: note: source object is likely at address zero 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( | ^~~~~~~ In function 'map_hd_drive': cc1: note: source object is likely at address zero In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/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 'map_hd_drive': cc1: note: source object is likely at address zero 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 'map_hd_drive': cc1: note: source object is likely at address zero 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( | ^~~~~~~ In function 'map_hd_drive': cc1: note: source object is likely at address zero In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/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 'map_hd_drive': cc1: note: source object is likely at address zero 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); | ^~~ In function 'map_floppy_drive': cc1: note: source object is likely at address zero In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:296: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/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': cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~ In function 'map_floppy_drive': cc1: note: source object is likely at address zero In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:292: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/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': cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 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); | ^~~~~~~ cc1: note: source object is likely at address zero Compile checking out/src/cdrom.o In file included from src/biosvar.h:10, from src/cdrom.c:8: src/cdrom.c: In function 'cdrom_boot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds=] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~ In function 'cdrom_boot': cc1: note: source object is likely at address zero In function 'set_equipment_flags', inlined from 'cdrom_boot' at src/cdrom.c:242: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/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'cdrom_boot': cc1: note: source object is likely at address zero Compile checking out/src/disk.o In file included from src/biosvar.h:10, from src/disk.c:8: src/disk.c: In function '__disk_ret_unimplemented': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds=] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:45:9: note: in expansion of macro 'SET_BDA' 45 | SET_BDA(disk_last_status, code); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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); In function 'disk_13': cc1: note: source object is likely at address zero In function 'disk_1301', inlined from 'disk_13' at src/disk.c:630:16: 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); In function 'disk_13': cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero Compile checking out/src/mouse.o In file included from src/mouse.c:8: In function 'set_equipment_flags', inlined from 'mouse_init' at src/mouse.c:23:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds=] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In function 'mouse_init': cc1: note: source object is likely at address zero In file included from src/biosvar.h:10: In function 'set_equipment_flags', inlined from 'mouse_init' at src/mouse.c:23: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/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'mouse_init': cc1: note: source object is likely at address zero 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 'handle_15c2': cc1: note: source object is likely at address zero 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 'handle_15c2': cc1: note: source object is likely at address zero 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 'handle_15c2': cc1: note: source object is likely at address zero 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 function 'process_mouse': cc1: note: source object is likely at address zero Compile checking out/src/kbd.o In file included from src/biosvar.h:10, from src/kbd.c:8: src/kbd.c: In function 'kbd_set_flag': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds=] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:397:18: note: in expansion of macro 'GET_BDA' 397 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: 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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 0 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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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; | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: 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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds=] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds=] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds=] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 0 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 0 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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 0 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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 0 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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 0 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 | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds=] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds=] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds=] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 0 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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)) | ^~~~~~~ In function 'handle_16': cc1: note: source object is likely at address zero 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 '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_16': cc1: note: source object is likely at address zero 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 'handle_16': cc1: note: source object is likely at address zero 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); | ^~~~~~ In function 'process_key': cc1: note: source object is likely at address zero In function '__process_key', inlined from 'process_key' at src/kbd.c:598: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:473:9: note: in expansion of macro 'SET_BDA' 473 | SET_BDA(kbd_flag1, flags1 & ~(KF1_LAST_E0|KF1_LAST_E1)); | ^~~~~~~ In function 'process_key': cc1: note: source object is likely at address zero In function '__process_key', inlined from 'process_key' at src/kbd.c:598: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/kbd.c:529:14: note: in expansion of macro 'GET_BDA' 529 | if ((GET_BDA(kbd_flag0) & (KF0_CTRLACTIVE|KF0_ALTACTIVE)) | ^~~~~~~ In function 'process_key': cc1: note: source object is likely at address zero In function '__process_key', inlined from 'process_key' at src/kbd.c:598: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/kbd.c:532:13: note: in expansion of macro 'SET_BDA' 532 | SET_BDA(soft_reset_flag, 0x1234); | ^~~~~~~ In function 'process_key': cc1: note: source object is likely at address zero 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); | ^~~~~~~~~~~~ In function 'process_key': cc1: note: source object is likely at address zero 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/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); | ^~~~~~~ In function 'process_key': cc1: note: source object is likely at address zero 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/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); | ^~~~~~~ In function 'process_key': cc1: note: source object is likely at address zero 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/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': cc1: note: source object is likely at address zero 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); | ^~~~~~ In function 'process_key': cc1: note: source object is likely at address zero In function '__process_key', inlined from 'process_key' at src/kbd.c:598: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:463:9: note: in expansion of macro 'SET_BDA' 463 | SET_BDA(kbd_flag1, flags1 | eflag); | ^~~~~~~ In function 'process_key': cc1: note: source object is likely at address zero Compile checking out/src/system.o In file included from src/biosvar.h:10, from src/system.c:8: In function 'get_ebda_seg', inlined from 'handle_15c1' at src/system.c:255:16, inlined from 'handle_15' at src/system.c:352:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds=] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'handle_15': cc1: note: source object is likely at address zero Compile checking out/src/serial.o In file included from src/serial.c:8: In function 'set_equipment_flags', inlined from 'serial_setup' at src/serial.c:56:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds=] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In function 'serial_setup': cc1: note: source object is likely at address zero In file included from src/biosvar.h:10: In function 'set_equipment_flags', inlined from 'serial_setup' at src/serial.c:56: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/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'serial_setup': cc1: note: source object is likely at address zero 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); | ^~~~~~~ In function 'lpt_setup': cc1: note: source object is likely at address zero 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 '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 'lpt_setup': cc1: note: source object is likely at address zero 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); | ^~~ In function 'lpt_setup': cc1: note: source object is likely at address zero In function 'set_equipment_flags', inlined from 'lpt_setup' at src/serial.c:217: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/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'lpt_setup': cc1: note: source object is likely at address zero Compile checking out/src/sercon.o In file included from src/biosvar.h:10, from src/sercon.c:7: In function 'cursor_pos_set', inlined from 'sercon_cursor_pos_set' at src/sercon.c:190:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'sercon_cursor_pos_set': cc1: note: source object is likely at address zero 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 'sercon_lazy_lf': cc1: note: source object is likely at address zero 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 'sercon_lazy_lf': cc1: note: source object is likely at address zero 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 'sercon_lazy_flush': cc1: note: source object is likely at address zero 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 'sercon_lazy_putchar': cc1: note: source object is likely at address zero 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 'sercon_lazy_putchar': cc1: note: source object is likely at address zero 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_lazy_putchar': cc1: note: source object is likely at address zero 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); | ^~~~~~~ In function 'handle_sercon': cc1: note: source object is likely at address zero 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 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds=] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/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 'handle_sercon': cc1: note: source object is likely at address zero 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 'handle_sercon': cc1: note: source object is likely at address zero 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 'handle_sercon': cc1: note: source object is likely at address zero 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 'handle_sercon': cc1: note: source object is likely at address zero 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 'handle_sercon': cc1: note: source object is likely at address zero 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 'handle_sercon': cc1: note: source object is likely at address zero 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 'handle_sercon': cc1: note: source object is likely at address zero 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 'handle_sercon': cc1: note: source object is likely at address zero 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 'handle_sercon': cc1: note: source object is likely at address zero 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 'handle_sercon': cc1: note: source object is likely at address zero 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 'handle_sercon': cc1: note: source object is likely at address zero 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 'handle_sercon': cc1: note: source object is likely at address zero 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 'handle_sercon': cc1: note: source object is likely at address zero 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 'handle_sercon': cc1: note: source object is likely at address zero 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 'handle_sercon': cc1: note: source object is likely at address zero 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); | ^~~~~~~ In function 'handle_sercon': cc1: note: source object is likely at address zero 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 '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); | ^~~~~~~ In function 'handle_sercon': cc1: note: source object is likely at address zero 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:338:9: note: in expansion of macro 'SET_BDA' 338 | SET_BDA(video_rows, rows-1); | ^~~~~~~ In function 'handle_sercon': cc1: note: source object is likely at address zero 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 '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); | ^~~~~~~ In function 'handle_sercon': cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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); cc1: note: source object is likely at address zero src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] cc1: note: source object is likely at address zero src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/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)); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/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)); | ^~~~~~~ cc1: note: source object is likely at address zero Compile checking out/src/clock.o In file included from src/biosvar.h:10, from src/clock.c:8: src/clock.c: In function 'clear_usertimer': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds=] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:383:11: note: in expansion of macro 'GET_BDA' 383 | if (!(GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING)) | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~~~~~ In function 'clear_usertimer': cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~~~~~ In function 'handle_1a': cc1: note: source object is likely at address zero 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 '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_1a': cc1: note: source object is likely at address zero 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); | ^~~~~ In function 'handle_1a': cc1: note: source object is likely at address zero In function 'handle_1a00', inlined from 'handle_1a' at src/clock.c:267: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:76:16: note: in expansion of macro 'GET_BDA' 76 | regs->al = GET_BDA(timer_rollover); | ^~~~~~~ In function 'handle_1a': cc1: note: source object is likely at address zero In function 'handle_1a00', inlined from 'handle_1a' at src/clock.c:267: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/clock.c:77:5: note: in expansion of macro 'SET_BDA' 77 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'handle_1a': cc1: note: source object is likely at address zero 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); | ^~~~~~~ In function 'handle_08': cc1: note: source object is likely at address zero In function 'clock_update', inlined from 'handle_08' at src/clock.c:306:5: src/farptr.h:180:6: warning: array subscript 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); | ^~~~~~~ In function 'handle_08': cc1: note: source object is likely at address zero In function 'clock_update', inlined from 'handle_08' at src/clock.c:306: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/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ In function 'handle_08': cc1: note: source object is likely at address zero In function 'clock_update', inlined from 'handle_08' at src/clock.c:306: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:292:5: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(timer_counter, counter); | ^~~~~~~ In function 'handle_08': cc1: note: source object is likely at address zero 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; | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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) | ^~~~~~~ cc1: note: source object is likely at address zero 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) | ^~~~~~~ In function 'handle_1586': cc1: note: source object is likely at address zero In function 'set_usertimer', inlined from 'handle_1586' at src/clock.c:403:15: 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. | ^~~~~~~ In function 'handle_1586': cc1: note: source object is likely at address zero In function 'set_usertimer', inlined from 'handle_1586' at src/clock.c:403:15: src/farptr.h:182:35: warning: array subscript 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)); | ^~~~~~~ In function 'handle_1586': cc1: note: source object is likely at address zero In function 'set_usertimer', inlined from 'handle_1586' at src/clock.c:403:15: src/farptr.h:182:35: warning: array subscript 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)); | ^~~~~~~ In function 'handle_1586': cc1: note: source object is likely at address zero In function 'set_usertimer', inlined from 'handle_1586' at src/clock.c:403:15: 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 'handle_1586': cc1: note: source object is likely at address zero 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) | ^~~~~~~ In function 'handle_1583': cc1: note: source object is likely at address zero 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: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. | ^~~~~~~ In function 'handle_1583': cc1: note: source object is likely at address zero 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:182:35: warning: array subscript 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)); | ^~~~~~~ In function 'handle_1583': cc1: note: source object is likely at address zero 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:182:35: warning: array subscript 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)); | ^~~~~~~ In function 'handle_1583': cc1: note: source object is likely at address zero 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: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 'handle_1583': cc1: note: source object is likely at address zero 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)) | ^~~~~~~ cc1: note: source object is likely at address zero 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. | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero Compile checking out/src/resume.o Compile checking out/src/pnpbios.o Compile checking out/src/vgahooks.o Compile checking out/src/pcibios.o Compile checking out/src/apm.o Compile checking out/src/cp437.o Compile checking out/src/hw/pci.o Compile checking out/src/hw/timer.o Compile checking out/src/hw/rtc.o Compile checking out/src/hw/dma.o Compile checking out/src/hw/pic.o Compile checking out/src/hw/ps2port.o Compile checking out/src/hw/serialio.o Compile checking out/src/hw/usb.o Compile checking out/src/hw/usb-uhci.o Compile checking out/src/hw/usb-ohci.o Compile checking out/src/hw/usb-ehci.o Compile checking out/src/hw/usb-hid.o Compile checking out/src/hw/usb-msc.o Compile checking out/src/hw/usb-uas.o Compile checking out/src/hw/blockcmd.o Compile checking out/src/hw/floppy.o 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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: 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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 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 | ^~~~~~~ cc1: note: source object is likely at address zero 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)); | ^~~~~~~ In function 'floppy_prep': cc1: note: source object is likely at address zero 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 | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/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 | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~~~~~ In function 'floppy_process_op': cc1: note: source object is likely at address zero 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:595:5: note: in expansion of macro 'SET_BDA' 595 | SET_BDA(floppy_media_state[0], 0); | ^~~~~~~ In function 'floppy_process_op': cc1: note: source object is likely at address zero 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:596:5: note: in expansion of macro 'SET_BDA' 596 | SET_BDA(floppy_media_state[1], 0); | ^~~~~~~ In function 'floppy_process_op': cc1: note: source object is likely at address zero 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:597:5: note: in expansion of macro 'SET_BDA' 597 | SET_BDA(floppy_track[0], 0); | ^~~~~~~ In function 'floppy_process_op': cc1: note: source object is likely at address zero 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:598:5: note: in expansion of macro 'SET_BDA' 598 | SET_BDA(floppy_track[1], 0); | ^~~~~~~ In function 'floppy_process_op': cc1: note: source object is likely at address zero 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:599:5: note: in expansion of macro 'SET_BDA' 599 | SET_BDA(floppy_last_data_rate, 0); | ^~~~~~~ In function 'floppy_process_op': cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~~~~~ cc1: note: source object is likely at address zero src/farptr.h:180:6: warning: array subscript 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); | ^~~~~~~ cc1: note: source object is likely at address zero Compile checking out/src/hw/ata.o In file included from src/biosvar.h:10, from src/hw/ata.c:9: src/hw/ata.c: In function 'ata_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds=] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ cc1: note: source object is likely at address zero Compile checking out/src/hw/ramdisk.o Compile checking out/src/hw/lsi-scsi.o Compile checking out/src/hw/esp-scsi.o Compile checking out/src/hw/megasas.o Compile checking out/src/hw/mpt-scsi.o Compile checking out/src/post.o 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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h: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 'interface_init': cc1: note: source object is likely at address zero 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); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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 'interface_init': cc1: note: source object is likely at address zero Compile checking out/src/e820map.o Compile checking out/src/malloc.o In file included from src/biosvar.h:10, from src/malloc.c:7: src/malloc.c: In function 'malloc_prepboot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds=] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ cc1: note: source object is likely at address zero Compile checking out/src/romfile.o Compile checking out/src/x86.o Compile checking out/src/optionroms.o In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:344:28: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'init_pcirom': cc1: note: source object is likely at address zero 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 'init_pcirom': cc1: note: source object is likely at address zero 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); | ^~~~~~~ In function 'init_pcirom': cc1: note: source object is likely at address zero In function 'boot_irq_restore', inlined from 'init_pcirom' at src/optionroms.c:354:9: src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/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 'init_pcirom': cc1: note: source object is likely at address zero Compile checking out/src/pmm.o Compile checking out/src/font.o Compile checking out/src/boot.o Compile checking out/src/bootsplash.o Compile checking out/src/jpeg.o Compile checking out/src/bmp.o Compile checking out/src/tcgbios.o Compile checking out/src/sha1.o Compile checking out/src/hw/pcidevice.o Compile checking out/src/hw/ahci.o Compile checking out/src/hw/pvscsi.o Compile checking out/src/hw/usb-xhci.o Compile checking out/src/hw/usb-hub.o Compile checking out/src/hw/sdcard.o Compile checking out/src/fw/coreboot.o Compile checking out/src/fw/lzmadecode.o Compile checking out/src/fw/multiboot.o Compile checking out/src/fw/csm.o Compile checking out/src/fw/biostables.o Compile checking out/src/fw/paravirt.o Compile checking out/src/fw/shadow.o 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/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; | ^~~~~~~ In function 'irqtimer_calc': cc1: note: source object is likely at address zero ./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); | ^~~~~~~ cc1: note: source object is likely at address zero ./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) | ^~~~~~~ cc1: note: source object is likely at address zero 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 'get_keystroke_full': cc1: note: source object is likely at address zero 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 'boot_fail': cc1: note: source object is likely at address zero 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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h: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)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h: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 'interface_init': cc1: note: source object is likely at address zero 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); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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 'interface_init': cc1: note: source object is likely at address zero 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); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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 '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); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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 '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); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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 '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); | ^~~~~~~ In function 'interface_init': cc1: note: source object is likely at address zero 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 '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 'interface_init': cc1: note: source object is likely at address zero 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); | ^~~ In function 'interface_init': cc1: note: source object is likely at address zero 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/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 'interface_init': cc1: note: source object is likely at address zero 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 'init_pcirom': cc1: note: source object is likely at address zero 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 'init_pcirom': cc1: note: source object is likely at address zero 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); | ^~~~~~~ In function 'init_pcirom': cc1: note: source object is likely at address zero In function 'boot_irq_restore', inlined from 'init_pcirom' at ./src/optionroms.c:354:9: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/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 'init_pcirom': cc1: note: source object is likely at address zero 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 | ^~~~~~~ In function 'device_hardware_setup': cc1: note: source object is likely at address zero 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 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/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 'device_hardware_setup': cc1: note: source object is likely at address zero 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 'device_hardware_setup': cc1: note: source object is likely at address zero 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); | ^~~~~~~ In function 'device_hardware_setup': cc1: note: source object is likely at address zero 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 '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 'device_hardware_setup': cc1: note: source object is likely at address zero 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); | ^~~ In function 'device_hardware_setup': cc1: note: source object is likely at address zero 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/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 'device_hardware_setup': cc1: note: source object is likely at address zero 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); | ^~~ In function 'device_hardware_setup': cc1: note: source object is likely at address zero 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/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 'device_hardware_setup': cc1: note: source object is likely at address zero 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); | ^~~ In function 'platform_hardware_setup': cc1: note: source object is likely at address zero 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/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 'platform_hardware_setup': cc1: note: source object is likely at address zero 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); | ^~~~~~~ In function 'platform_hardware_setup': cc1: note: source object is likely at address zero ./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); | ^~~~~~~ cc1: note: source object is likely at address zero ./src/farptr.h:180:6: warning: array subscript 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); | ^~~~~~~ cc1: note: source object is likely at address zero 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); | ^~~ In function 'cdrom_boot': cc1: note: source object is likely at address zero In function 'set_equipment_flags', inlined from 'cdrom_boot' at ./src/cdrom.c:242: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/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'cdrom_boot': cc1: note: source object is likely at address zero 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); In function 'maininit': cc1: note: source object is likely at address zero 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=] In function 'maininit': cc1: note: source object is likely at address zero In function 'sercon_setup', inlined from 'maininit' at ./src/post.c:211:5: ./src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] In function 'maininit': cc1: note: source object is likely at address zero In function 'sercon_setup', inlined from 'maininit' at ./src/post.c:211: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/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ In function 'maininit': cc1: note: source object is likely at address zero In function 'sercon_setup', inlined from 'maininit' at ./src/post.c:211:5: ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/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 'maininit': cc1: note: source object is likely at address zero 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 'maininit': cc1: note: source object is likely at address zero 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 function 'maininit': cc1: note: source object is likely at address zero 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 'maininit': cc1: note: source object is likely at address zero 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 'maininit': cc1: note: source object is likely at address zero 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 'maininit': cc1: note: source object is likely at address zero 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( | ^~~~~~~ In function 'maininit': cc1: note: source object is likely at address zero 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 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/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 'maininit': cc1: note: source object is likely at address zero 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 'maininit': cc1: note: source object is likely at address zero 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( | ^~~~~~~ In function 'maininit': cc1: note: source object is likely at address zero 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 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds=] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/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 'maininit': cc1: note: source object is likely at address zero 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); | ^~~ In function 'maininit': cc1: note: source object is likely at address zero 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/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 'maininit': cc1: note: source object is likely at address zero 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 'maininit': cc1: note: source object is likely at address zero 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); | ^~~ In function 'maininit': cc1: note: source object is likely at address zero 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/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 'maininit': cc1: note: source object is likely at address zero 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); | ^~~~~~~ In function 'maininit': cc1: note: source object is likely at address zero Compiling whole program out/code32seg.o Compiling whole program out/ccode16.o Compiling to assembler out/src/asm-offsets.s Generating offset file out/asm-offsets.h Compiling (16bit) out/romlayout.o Building ld scripts Version: 1.16.1-20240329_192035-pkg-builder.dan.net.uk /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: 38016 32bit segmented size: 2277 32bit flat size: 50475 32bit flat init size: 84384 Lowmem size: 2240 f-segment var size: 1232 Linking out/rom16.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 Linking out/rom32seg.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: 184928 Fixed: 92000 Free: 77216 (used 70.5% of 256KiB rom) Creating out/bios.bin =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> 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) =========================================================================== =================================================== ===== env: 'PKG_NOTES=build_timestamp ports_top_git_hash ports_top_checkout_unclean port_git_hash port_checkout_unclean built_by' 'PKG_NOTE_build_timestamp=2024-03-29T19:19:31+0000' 'PKG_NOTE_ports_top_git_hash=c2c35d895e' 'PKG_NOTE_ports_top_checkout_unclean=yes' 'PKG_NOTE_port_git_hash=8d3e020ed0' 'PKG_NOTE_port_checkout_unclean=no' 'PKG_NOTE_built_by=poudriere-git-3.4.99.20240122_1' NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Building packages for seabios-1.16.1_1 ===> Building 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 Fri Mar 29 19:20:37 GMT 2024 build time: 00:01:06