Tue Apr 18 07:17:26 UTC 2023 I: starting to build seabios/bookworm/i386 on jenkins on '2023-04-18 07:17' Tue Apr 18 07:17:26 UTC 2023 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/i386_8/7211/console.log Tue Apr 18 07:17:26 UTC 2023 I: Downloading source for bookworm/seabios=1.16.2-1 --2023-04-18 07:17:26-- http://cdn-fastly.deb.debian.org/debian/pool/main/s/seabios/seabios_1.16.2-1.dsc Connecting to 78.137.99.97:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 1589 (1.6K) [text/prs.lines.tag] Saving to: ‘seabios_1.16.2-1.dsc’ 0K . 100% 142M=0s 2023-04-18 07:17:26 (142 MB/s) - ‘seabios_1.16.2-1.dsc’ saved [1589/1589] Tue Apr 18 07:17:26 UTC 2023 I: seabios_1.16.2-1.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: seabios Binary: seabios Architecture: all Version: 1.16.2-1 Maintainer: Debian QEMU Team Uploaders: Michael Tokarev Homepage: https://www.seabios.org Standards-Version: 4.6.0 Vcs-Browser: https://salsa.debian.org/qemu-team/seabios Vcs-Git: https://salsa.debian.org/qemu-team/seabios.git Build-Depends: debhelper-compat (= 13), python3:any, acpica-tools | iasl Package-List: seabios deb misc optional arch=all Checksums-Sha1: 478883a80836514cad6b367f6a02deca5d7525f3 635918 seabios_1.16.2.orig.tar.gz 553d270677fa612d8f3595ca75b54037d0001fe0 8700 seabios_1.16.2-1.debian.tar.xz Checksums-Sha256: efa8d529442ad168056f94ac6666b1b3543c62ff7af6d9e020561f4d0e32f959 635918 seabios_1.16.2.orig.tar.gz 7970d1790903f8ebabebce7c1952764c41edaa1f8a915097c2119bb7877efa98 8700 seabios_1.16.2-1.debian.tar.xz Files: ef52bf37a78e78a082688a244300ab86 635918 seabios_1.16.2.orig.tar.gz c848648e8e155e2acfeb627241af0b6f 8700 seabios_1.16.2-1.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQFDBAEBCgAtFiEEe3O61ovnosKJMUsicBtPaxppPlkFAmQ1XNsPHG1qdEB0bHMu bXNrLnJ1AAoJEHAbT2saaT5ZaFEH/AhTd2uXANIKslY6mDEvhXS1yJCxXES3M2oj jzKYSE8DiUkJQQ/Te4cVU18OTCOLfwBfHlplWSJFSL8syJSXOwc7M5+9Dr+udJhs 5uJX/UTkBACxncgrWxodAkBBcmMvTOhOz8NacyfmW7gkTJSjlbKoGcnRV+kSVhUZ OKoSza34JoP31+wYN4U8rBrY4N3KOr0LD7DQXT+8mPwKRQA2Z2bShLNzweaD3CeG MVSD3YehM7TWexFFkiPGPz+QzSCfUlPwnrvl369GLPzZxWQ69T2a44POficz17iq ZaBy/iExmCczxBrEiQb3oIjjXz4p8fUTnwpp2JIubVhQKx/8NYY= =5CMf -----END PGP SIGNATURE----- Tue Apr 18 07:17:26 UTC 2023 I: Checking whether the package is not for us Tue Apr 18 07:17:26 UTC 2023 I: Starting 1st build on remote node ionos16-i386.debian.net. Tue Apr 18 07:17:26 UTC 2023 I: Preparing to do remote build '1' on ionos16-i386.debian.net. Tue Apr 18 07:19:18 UTC 2023 I: Deleting $TMPDIR on ionos16-i386.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Mon May 20 01:40:26 -12 2024 I: pbuilder-time-stamp: 1716212426 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bookworm-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: using eatmydata during job I: Copying source file I: copying [seabios_1.16.2-1.dsc] I: copying [./seabios_1.16.2.orig.tar.gz] I: copying [./seabios_1.16.2-1.debian.tar.xz] I: Extracting source gpgv: Signature made Tue Apr 11 01:12:59 2023 -12 gpgv: using RSA key 7B73BAD68BE7A2C289314B22701B4F6B1A693E59 gpgv: issuer "mjt@tls.msk.ru" gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./seabios_1.16.2-1.dsc: no acceptable signature found dpkg-source: info: extracting seabios in seabios-1.16.2 dpkg-source: info: unpacking seabios_1.16.2.orig.tar.gz dpkg-source: info: unpacking seabios_1.16.2-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying nogitversion.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/123351/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='i386' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=16' DISTRIBUTION='bookworm' HOME='/root' HOST_ARCH='i386' IFS=' ' INVOCATION_ID='b874a7423ca3417297870f20b9428b23' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' LD_LIBRARY_PATH='/usr/lib/libeatmydata' LD_PRELOAD='libeatmydata.so' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='123351' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.XllJvBlA/pbuilderrc_4zYn --distribution bookworm --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.XllJvBlA/b1 --logfile b1/build.log seabios_1.16.2-1.dsc' SUDO_GID='112' SUDO_UID='107' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://85.184.249.68:3128' I: uname -a Linux ionos16-i386 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21) x86_64 GNU/Linux I: ls -l /bin total 6036 -rwxr-xr-x 1 root root 1408088 Feb 12 2023 bash -rwxr-xr-x 3 root root 38404 Sep 18 2022 bunzip2 -rwxr-xr-x 3 root root 38404 Sep 18 2022 bzcat lrwxrwxrwx 1 root root 6 Sep 18 2022 bzcmp -> bzdiff -rwxr-xr-x 1 root root 2225 Sep 18 2022 bzdiff lrwxrwxrwx 1 root root 6 Sep 18 2022 bzegrep -> bzgrep -rwxr-xr-x 1 root root 4893 Nov 27 2021 bzexe lrwxrwxrwx 1 root root 6 Sep 18 2022 bzfgrep -> bzgrep -rwxr-xr-x 1 root root 3775 Sep 18 2022 bzgrep -rwxr-xr-x 3 root root 38404 Sep 18 2022 bzip2 -rwxr-xr-x 1 root root 17892 Sep 18 2022 bzip2recover lrwxrwxrwx 1 root root 6 Sep 18 2022 bzless -> bzmore -rwxr-xr-x 1 root root 1297 Sep 18 2022 bzmore -rwxr-xr-x 1 root root 42920 Sep 20 2022 cat -rwxr-xr-x 1 root root 79816 Sep 20 2022 chgrp -rwxr-xr-x 1 root root 67496 Sep 20 2022 chmod -rwxr-xr-x 1 root root 79816 Sep 20 2022 chown -rwxr-xr-x 1 root root 162024 Sep 20 2022 cp -rwxr-xr-x 1 root root 136916 Jan 5 2023 dash -rwxr-xr-x 1 root root 137160 Sep 20 2022 date -rwxr-xr-x 1 root root 100364 Sep 20 2022 dd -rwxr-xr-x 1 root root 108940 Sep 20 2022 df -rwxr-xr-x 1 root root 162152 Sep 20 2022 dir -rwxr-xr-x 1 root root 87760 Mar 22 2023 dmesg lrwxrwxrwx 1 root root 8 Dec 19 2022 dnsdomainname -> hostname lrwxrwxrwx 1 root root 8 Dec 19 2022 domainname -> hostname -rwxr-xr-x 1 root root 38760 Sep 20 2022 echo -rwxr-xr-x 1 root root 41 Jan 24 2023 egrep -rwxr-xr-x 1 root root 34664 Sep 20 2022 false -rwxr-xr-x 1 root root 41 Jan 24 2023 fgrep -rwxr-xr-x 1 root root 84272 Mar 22 2023 findmnt -rwsr-xr-x 1 root root 30240 Mar 22 2023 fusermount -rwxr-xr-x 1 root root 218680 Jan 24 2023 grep -rwxr-xr-x 2 root root 2346 Apr 9 2022 gunzip -rwxr-xr-x 1 root root 6447 Apr 9 2022 gzexe -rwxr-xr-x 1 root root 100952 Apr 9 2022 gzip -rwxr-xr-x 1 root root 21916 Dec 19 2022 hostname -rwxr-xr-x 1 root root 75756 Sep 20 2022 ln -rwxr-xr-x 1 root root 55600 Mar 22 2023 login -rwxr-xr-x 1 root root 162152 Sep 20 2022 ls -rwxr-xr-x 1 root root 214568 Mar 22 2023 lsblk -rwxr-xr-x 1 root root 96328 Sep 20 2022 mkdir -rwxr-xr-x 1 root root 84008 Sep 20 2022 mknod -rwxr-xr-x 1 root root 38792 Sep 20 2022 mktemp -rwxr-xr-x 1 root root 63016 Mar 22 2023 more -rwsr-xr-x 1 root root 58912 Mar 22 2023 mount -rwxr-xr-x 1 root root 13856 Mar 22 2023 mountpoint -rwxr-xr-x 1 root root 157932 Sep 20 2022 mv lrwxrwxrwx 1 root root 8 Dec 19 2022 nisdomainname -> hostname lrwxrwxrwx 1 root root 14 Apr 2 2023 pidof -> /sbin/killall5 -rwxr-xr-x 1 root root 38792 Sep 20 2022 pwd lrwxrwxrwx 1 root root 4 Feb 12 2023 rbash -> bash -rwxr-xr-x 1 root root 51080 Sep 20 2022 readlink -rwxr-xr-x 1 root root 75720 Sep 20 2022 rm -rwxr-xr-x 1 root root 51080 Sep 20 2022 rmdir -rwxr-xr-x 1 root root 22308 Nov 2 2022 run-parts -rwxr-xr-x 1 root root 133224 Jan 5 2023 sed lrwxrwxrwx 1 root root 4 Jan 5 2023 sh -> dash -rwxr-xr-x 1 root root 38760 Sep 20 2022 sleep -rwxr-xr-x 1 root root 87976 Sep 20 2022 stty -rwsr-xr-x 1 root root 83492 Mar 22 2023 su -rwxr-xr-x 1 root root 38792 Sep 20 2022 sync -rwxr-xr-x 1 root root 598456 Apr 6 2023 tar -rwxr-xr-x 1 root root 13860 Nov 2 2022 tempfile -rwxr-xr-x 1 root root 120776 Sep 20 2022 touch -rwxr-xr-x 1 root root 34664 Sep 20 2022 true -rwxr-xr-x 1 root root 17892 Mar 22 2023 ulockmgr_server -rwsr-xr-x 1 root root 30236 Mar 22 2023 umount -rwxr-xr-x 1 root root 38760 Sep 20 2022 uname -rwxr-xr-x 2 root root 2346 Apr 9 2022 uncompress -rwxr-xr-x 1 root root 162152 Sep 20 2022 vdir -rwxr-xr-x 1 root root 71216 Mar 22 2023 wdctl lrwxrwxrwx 1 root root 8 Dec 19 2022 ypdomainname -> hostname -rwxr-xr-x 1 root root 1984 Apr 9 2022 zcat -rwxr-xr-x 1 root root 1678 Apr 9 2022 zcmp -rwxr-xr-x 1 root root 6460 Apr 9 2022 zdiff -rwxr-xr-x 1 root root 29 Apr 9 2022 zegrep -rwxr-xr-x 1 root root 29 Apr 9 2022 zfgrep -rwxr-xr-x 1 root root 2081 Apr 9 2022 zforce -rwxr-xr-x 1 root root 8103 Apr 9 2022 zgrep -rwxr-xr-x 1 root root 2206 Apr 9 2022 zless -rwxr-xr-x 1 root root 1842 Apr 9 2022 zmore -rwxr-xr-x 1 root root 4577 Apr 9 2022 znew I: user script /srv/workspace/pbuilder/123351/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: i386 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), python3:any, acpica-tools | iasl dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19604 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on python3:any. pbuilder-satisfydepends-dummy depends on acpica-tools | iasl; however: Package acpica-tools is not installed. Package iasl is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: acpica-tools{a} autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libdebhelper-perl{a} libelf1{a} libexpat1{a} libfile-stripnondeterminism-perl{a} libicu72{a} libmagic-mgc{a} libmagic1{a} libpipeline1{a} libpython3-stdlib{a} libpython3.11-minimal{a} libpython3.11-stdlib{a} libreadline8{a} libsub-override-perl{a} libtool{a} libuchardet0{a} libxml2{a} m4{a} man-db{a} media-types{a} po-debconf{a} python3{a} python3-minimal{a} python3.11{a} python3.11-minimal{a} readline-common{a} sensible-utils{a} The following packages are RECOMMENDED but will NOT be installed: ca-certificates curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx wget 0 packages upgraded, 42 newly installed, 0 to remove and 0 not upgraded. Need to get 25.6 MB of archives. After unpacking 97.7 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian bookworm/main i386 libpython3.11-minimal i386 3.11.2-6 [813 kB] Get: 2 http://deb.debian.org/debian bookworm/main i386 libexpat1 i386 2.5.0-1 [103 kB] Get: 3 http://deb.debian.org/debian bookworm/main i386 python3.11-minimal i386 3.11.2-6 [2130 kB] Get: 4 http://deb.debian.org/debian bookworm/main i386 python3-minimal i386 3.11.2-1+b1 [26.3 kB] Get: 5 http://deb.debian.org/debian bookworm/main i386 media-types all 10.0.0 [26.1 kB] Get: 6 http://deb.debian.org/debian bookworm/main i386 readline-common all 8.2-1.3 [69.0 kB] Get: 7 http://deb.debian.org/debian bookworm/main i386 libreadline8 i386 8.2-1.3 [171 kB] Get: 8 http://deb.debian.org/debian bookworm/main i386 libpython3.11-stdlib i386 3.11.2-6 [1799 kB] Get: 9 http://deb.debian.org/debian bookworm/main i386 python3.11 i386 3.11.2-6 [572 kB] Get: 10 http://deb.debian.org/debian bookworm/main i386 libpython3-stdlib i386 3.11.2-1+b1 [9308 B] Get: 11 http://deb.debian.org/debian bookworm/main i386 python3 i386 3.11.2-1+b1 [26.3 kB] Get: 12 http://deb.debian.org/debian bookworm/main i386 sensible-utils all 0.0.17+nmu1 [19.0 kB] Get: 13 http://deb.debian.org/debian bookworm/main i386 libmagic-mgc i386 1:5.44-3 [305 kB] Get: 14 http://deb.debian.org/debian bookworm/main i386 libmagic1 i386 1:5.44-3 [114 kB] Get: 15 http://deb.debian.org/debian bookworm/main i386 file i386 1:5.44-3 [42.5 kB] Get: 16 http://deb.debian.org/debian bookworm/main i386 gettext-base i386 0.21-12 [162 kB] Get: 17 http://deb.debian.org/debian bookworm/main i386 libuchardet0 i386 0.0.7-1 [67.9 kB] Get: 18 http://deb.debian.org/debian bookworm/main i386 groff-base i386 1.22.4-10 [932 kB] Get: 19 http://deb.debian.org/debian bookworm/main i386 bsdextrautils i386 2.38.1-5+b1 [90.3 kB] Get: 20 http://deb.debian.org/debian bookworm/main i386 libpipeline1 i386 1.5.7-1 [40.0 kB] Get: 21 http://deb.debian.org/debian bookworm/main i386 man-db i386 2.11.2-2 [1397 kB] Get: 22 http://deb.debian.org/debian bookworm/main i386 acpica-tools i386 20200925-8 [848 kB] Get: 23 http://deb.debian.org/debian bookworm/main i386 m4 i386 1.4.19-3 [294 kB] Get: 24 http://deb.debian.org/debian bookworm/main i386 autoconf all 2.71-3 [332 kB] Get: 25 http://deb.debian.org/debian bookworm/main i386 autotools-dev all 20220109.1 [51.6 kB] Get: 26 http://deb.debian.org/debian bookworm/main i386 automake all 1:1.16.5-1.3 [823 kB] Get: 27 http://deb.debian.org/debian bookworm/main i386 autopoint all 0.21-12 [495 kB] Get: 28 http://deb.debian.org/debian bookworm/main i386 libdebhelper-perl all 13.11.4 [81.2 kB] Get: 29 http://deb.debian.org/debian bookworm/main i386 libtool all 2.4.7-5 [517 kB] Get: 30 http://deb.debian.org/debian bookworm/main i386 dh-autoreconf all 20 [17.1 kB] Get: 31 http://deb.debian.org/debian bookworm/main i386 libarchive-zip-perl all 1.68-1 [104 kB] Get: 32 http://deb.debian.org/debian bookworm/main i386 libsub-override-perl all 0.09-4 [9304 B] Get: 33 http://deb.debian.org/debian bookworm/main i386 libfile-stripnondeterminism-perl all 1.13.1-1 [19.4 kB] Get: 34 http://deb.debian.org/debian bookworm/main i386 dh-strip-nondeterminism all 1.13.1-1 [8620 B] Get: 35 http://deb.debian.org/debian bookworm/main i386 libelf1 i386 0.188-2.1 [179 kB] Get: 36 http://deb.debian.org/debian bookworm/main i386 dwz i386 0.15-1 [118 kB] Get: 37 http://deb.debian.org/debian bookworm/main i386 libicu72 i386 72.1-3 [9541 kB] Get: 38 http://deb.debian.org/debian bookworm/main i386 libxml2 i386 2.9.14+dfsg-1.1+b3 [720 kB] Get: 39 http://deb.debian.org/debian bookworm/main i386 gettext i386 0.21-12 [1311 kB] Get: 40 http://deb.debian.org/debian bookworm/main i386 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 41 http://deb.debian.org/debian bookworm/main i386 po-debconf all 1.0.21+nmu1 [248 kB] Get: 42 http://deb.debian.org/debian bookworm/main i386 debhelper all 13.11.4 [942 kB] Fetched 25.6 MB in 0s (90.0 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-minimal:i386. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19604 files and directories currently installed.) Preparing to unpack .../libpython3.11-minimal_3.11.2-6_i386.deb ... Unpacking libpython3.11-minimal:i386 (3.11.2-6) ... Selecting previously unselected package libexpat1:i386. Preparing to unpack .../libexpat1_2.5.0-1_i386.deb ... Unpacking libexpat1:i386 (2.5.0-1) ... Selecting previously unselected package python3.11-minimal. Preparing to unpack .../python3.11-minimal_3.11.2-6_i386.deb ... Unpacking python3.11-minimal (3.11.2-6) ... Setting up libpython3.11-minimal:i386 (3.11.2-6) ... Setting up libexpat1:i386 (2.5.0-1) ... Setting up python3.11-minimal (3.11.2-6) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19920 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.11.2-1+b1_i386.deb ... Unpacking python3-minimal (3.11.2-1+b1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_10.0.0_all.deb ... Unpacking media-types (10.0.0) ... Selecting previously unselected package readline-common. Preparing to unpack .../2-readline-common_8.2-1.3_all.deb ... Unpacking readline-common (8.2-1.3) ... Selecting previously unselected package libreadline8:i386. Preparing to unpack .../3-libreadline8_8.2-1.3_i386.deb ... Unpacking libreadline8:i386 (8.2-1.3) ... Selecting previously unselected package libpython3.11-stdlib:i386. Preparing to unpack .../4-libpython3.11-stdlib_3.11.2-6_i386.deb ... Unpacking libpython3.11-stdlib:i386 (3.11.2-6) ... Selecting previously unselected package python3.11. Preparing to unpack .../5-python3.11_3.11.2-6_i386.deb ... Unpacking python3.11 (3.11.2-6) ... Selecting previously unselected package libpython3-stdlib:i386. Preparing to unpack .../6-libpython3-stdlib_3.11.2-1+b1_i386.deb ... Unpacking libpython3-stdlib:i386 (3.11.2-1+b1) ... Setting up python3-minimal (3.11.2-1+b1) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20354 files and directories currently installed.) Preparing to unpack .../00-python3_3.11.2-1+b1_i386.deb ... Unpacking python3 (3.11.2-1+b1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../01-sensible-utils_0.0.17+nmu1_all.deb ... Unpacking sensible-utils (0.0.17+nmu1) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../02-libmagic-mgc_1%3a5.44-3_i386.deb ... Unpacking libmagic-mgc (1:5.44-3) ... Selecting previously unselected package libmagic1:i386. Preparing to unpack .../03-libmagic1_1%3a5.44-3_i386.deb ... Unpacking libmagic1:i386 (1:5.44-3) ... Selecting previously unselected package file. Preparing to unpack .../04-file_1%3a5.44-3_i386.deb ... Unpacking file (1:5.44-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../05-gettext-base_0.21-12_i386.deb ... Unpacking gettext-base (0.21-12) ... Selecting previously unselected package libuchardet0:i386. Preparing to unpack .../06-libuchardet0_0.0.7-1_i386.deb ... Unpacking libuchardet0:i386 (0.0.7-1) ... Selecting previously unselected package groff-base. Preparing to unpack .../07-groff-base_1.22.4-10_i386.deb ... Unpacking groff-base (1.22.4-10) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../08-bsdextrautils_2.38.1-5+b1_i386.deb ... Unpacking bsdextrautils (2.38.1-5+b1) ... Selecting previously unselected package libpipeline1:i386. Preparing to unpack .../09-libpipeline1_1.5.7-1_i386.deb ... Unpacking libpipeline1:i386 (1.5.7-1) ... Selecting previously unselected package man-db. Preparing to unpack .../10-man-db_2.11.2-2_i386.deb ... Unpacking man-db (2.11.2-2) ... Selecting previously unselected package acpica-tools. Preparing to unpack .../11-acpica-tools_20200925-8_i386.deb ... Unpacking acpica-tools (20200925-8) ... Selecting previously unselected package m4. Preparing to unpack .../12-m4_1.4.19-3_i386.deb ... Unpacking m4 (1.4.19-3) ... Selecting previously unselected package autoconf. Preparing to unpack .../13-autoconf_2.71-3_all.deb ... Unpacking autoconf (2.71-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../14-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../15-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../16-autopoint_0.21-12_all.deb ... Unpacking autopoint (0.21-12) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../17-libdebhelper-perl_13.11.4_all.deb ... Unpacking libdebhelper-perl (13.11.4) ... Selecting previously unselected package libtool. Preparing to unpack .../18-libtool_2.4.7-5_all.deb ... Unpacking libtool (2.4.7-5) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../19-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../20-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libsub-override-perl. Preparing to unpack .../21-libsub-override-perl_0.09-4_all.deb ... Unpacking libsub-override-perl (0.09-4) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../22-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../23-dh-strip-nondeterminism_1.13.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.13.1-1) ... Selecting previously unselected package libelf1:i386. Preparing to unpack .../24-libelf1_0.188-2.1_i386.deb ... Unpacking libelf1:i386 (0.188-2.1) ... Selecting previously unselected package dwz. Preparing to unpack .../25-dwz_0.15-1_i386.deb ... Unpacking dwz (0.15-1) ... Selecting previously unselected package libicu72:i386. Preparing to unpack .../26-libicu72_72.1-3_i386.deb ... Unpacking libicu72:i386 (72.1-3) ... Selecting previously unselected package libxml2:i386. Preparing to unpack .../27-libxml2_2.9.14+dfsg-1.1+b3_i386.deb ... Unpacking libxml2:i386 (2.9.14+dfsg-1.1+b3) ... Selecting previously unselected package gettext. Preparing to unpack .../28-gettext_0.21-12_i386.deb ... Unpacking gettext (0.21-12) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../29-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../30-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../31-debhelper_13.11.4_all.deb ... Unpacking debhelper (13.11.4) ... Setting up media-types (10.0.0) ... Setting up libpipeline1:i386 (1.5.7-1) ... Setting up libicu72:i386 (72.1-3) ... Setting up bsdextrautils (2.38.1-5+b1) ... Setting up libmagic-mgc (1:5.44-3) ... Setting up acpica-tools (20200925-8) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.11.4) ... Setting up libmagic1:i386 (1:5.44-3) ... Setting up gettext-base (0.21-12) ... Setting up m4 (1.4.19-3) ... Setting up file (1:5.44-3) ... Setting up autotools-dev (20220109.1) ... Setting up autopoint (0.21-12) ... Setting up autoconf (2.71-3) ... Setting up sensible-utils (0.0.17+nmu1) ... Setting up libuchardet0:i386 (0.0.7-1) ... Setting up libsub-override-perl (0.09-4) ... Setting up libelf1:i386 (0.188-2.1) ... Setting up readline-common (8.2-1.3) ... Setting up libxml2:i386 (2.9.14+dfsg-1.1+b3) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... Setting up gettext (0.21-12) ... Setting up libtool (2.4.7-5) ... Setting up libreadline8:i386 (8.2-1.3) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up dh-strip-nondeterminism (1.13.1-1) ... Setting up dwz (0.15-1) ... Setting up groff-base (1.22.4-10) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpython3.11-stdlib:i386 (3.11.2-6) ... Setting up man-db (2.11.2-2) ... Not building database; man-db/auto-update is not 'true'. Setting up libpython3-stdlib:i386 (3.11.2-1+b1) ... Setting up python3.11 (3.11.2-6) ... Setting up debhelper (13.11.4) ... Setting up python3 (3.11.2-1+b1) ... Processing triggers for libc-bin (2.36-9) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/seabios-1.16.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../seabios_1.16.2-1_source.changes dpkg-buildpackage: info: source package seabios dpkg-buildpackage: info: source version 1.16.2-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Michael Tokarev dpkg-source --before-build . dpkg-buildpackage: info: host architecture i386 debian/rules clean dh_clean build/ src/fw/*.hex debian/rules binary mkdir -p build rm -f src/fw/*.hex /usr/bin/make PYTHON="python3 -B" OUT=build/ KCONFIG_CONFIG=/build/seabios-1.16.2/build/.fakeconfig iasl make[1]: Entering directory '/build/seabios-1.16.2' scripts/kconfig/conf --olddefconfig /build/seabios-1.16.2/src/Kconfig # # configuration written to /build/seabios-1.16.2/build/.fakeconfig # Compiling IASL src/fw/acpi-dsdt.hex build/src/fw/acpi-dsdt.dsl.i 31: Device(PCI0) { Warning 3073 - Multiple types ^ (Device object requires either a _HID or _ADR, but not both) build/src/fw/acpi-dsdt.dsl.i 361: Name(PRR0, ResourceTemplate() { Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IQCR) build/src/fw/acpi-dsdt.dsl.i 405: Method(CPEJ, 2, NotSerialized) { Remark 2146 - Method Argument is never used ^ (Arg0) build/src/fw/acpi-dsdt.dsl.i 405: Method(CPEJ, 2, NotSerialized) { Remark 2146 - Method Argument is never used ^ (Arg1) ASL Input: build/src/fw/acpi-dsdt.dsl.i - 19153 bytes 315 keywords 475 source lines AML Output: build/src/fw/acpi-dsdt.aml - 4585 bytes 156 opcodes 159 named objects Listing File: build/src/fw/acpi-dsdt.lst - 67556 bytes Hex Dump: build/src/fw/acpi-dsdt.hex - 43474 bytes Compilation successful. 0 Errors, 1 Warnings, 3 Remarks, 246 Optimizations Compiling IASL src/fw/ssdt-proc.hex build/src/fw/ssdt-proc.dsl.i 15: Processor(CPAA, 0xAA, 0x0000b010, 0x06) { Warning 3168 - ^ Legacy Processor() keyword detected. Use Device() keyword instead. ASL Input: build/src/fw/ssdt-proc.dsl.i - 762 bytes 8 keywords 36 source lines AML Output: build/src/fw/ssdt-proc.aml - 162 bytes 2 opcodes 6 named objects Listing File: build/src/fw/ssdt-proc.lst - 3383 bytes Hex Dump: build/src/fw/ssdt-proc.hex - 1997 bytes Compilation successful. 0 Errors, 1 Warnings, 0 Remarks, 0 Optimizations Compiling IASL src/fw/ssdt-pcihp.hex ASL Input: build/src/fw/ssdt-pcihp.dsl.i - 755 bytes 5 keywords 37 source lines AML Output: build/src/fw/ssdt-pcihp.aml - 121 bytes 0 opcodes 5 named objects Listing File: build/src/fw/ssdt-pcihp.lst - 2737 bytes Hex Dump: build/src/fw/ssdt-pcihp.hex - 1626 bytes Compilation successful. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations Compiling IASL src/fw/ssdt-misc.hex ASL Input: build/src/fw/ssdt-misc.dsl.i - 2565 bytes 35 keywords 102 source lines AML Output: build/src/fw/ssdt-misc.aml - 388 bytes 11 opcodes 24 named objects Listing File: build/src/fw/ssdt-misc.lst - 7632 bytes Hex Dump: build/src/fw/ssdt-misc.hex - 4098 bytes Compilation successful. 0 Errors, 0 Warnings, 0 Remarks, 2 Optimizations make[1]: Leaving directory '/build/seabios-1.16.2' echo "EXTRAVERSION=-debian-$(dpkg-parsechangelog -SVersion)" > build/env === Building bios.bin === set -e; if [ ! -e build/bios/.config.old ]; then rm -rf build/bios; mkdir -p build/bios; for x in QEMU=y ROM_SIZE=128 PVSCSI=n ATA_DMA=n BOOTSPLASH=n XEN=n USB_OHCI=n USB_XHCI=n USB_UAS=n SDCARD=n TCGBIOS=n MPT_SCSI=n ESP_SCSI=n MEGASAS=n NVME=n USE_SMM=n VGAHOOKS=n HOST_BIOS_GEOMETRY=n ACPI_PARSE=n; do echo CONFIG_$x; done > build/bios/.config; /usr/bin/make PYTHON="python3 -B" KCONFIG_CONFIG=/build/seabios-1.16.2/build/bios/.config OUT=build/bios/ oldnoconfig; fi make[1]: Entering directory '/build/seabios-1.16.2' scripts/kconfig/conf --olddefconfig /build/seabios-1.16.2/src/Kconfig # # configuration written to /build/seabios-1.16.2/build/bios/.config # make[1]: Leaving directory '/build/seabios-1.16.2' /usr/bin/make PYTHON="python3 -B" $(cat build/env) KCONFIG_CONFIG=/build/seabios-1.16.2/build/bios/.config OUT=build/bios/ build/bios/bios.bin make[1]: Entering directory '/build/seabios-1.16.2' Build Kconfig config file Compile checking build/bios/src/misc.o In file included from src/biosvar.h:10, from src/misc.c:8: src/misc.c: In function 'handle_12': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:36:16: note: in expansion of macro 'GET_BDA' 36 | regs->ax = GET_BDA(mem_size_kb); | ^~~~~~~ src/misc.c: In function 'handle_11': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:44:16: note: in expansion of macro 'GET_BDA' 44 | regs->ax = GET_BDA(equipment_list_flags); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at src/misc.c:66:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking build/bios/src/stacks.o Compile checking build/bios/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking build/bios/src/string.o Compile checking build/bios/src/block.o src/block.c: In function 'map_hd_drive': src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ^~ In file included from src/biosvar.h:10, from src/block.c:8: In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'fill_fdpt' at src/block.c:213:28, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:239:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:236:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:296:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:292:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compile checking build/bios/src/cdrom.o In file included from src/biosvar.h:10, from src/cdrom.c:8: src/cdrom.c: In function 'cdrom_boot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at src/cdrom.c:242:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking build/bios/src/disk.o In file included from src/biosvar.h:10, from src/disk.c:8: src/disk.c: In function '__disk_ret_unimplemented': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:45:9: note: in expansion of macro 'SET_BDA' 45 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:43:9: note: in expansion of macro 'SET_BDA' 43 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function '__disk_ret': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:31:9: note: in expansion of macro 'SET_BDA' 31 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:29:9: note: in expansion of macro 'SET_BDA' 29 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function 'disk_1308': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/disk.c:297:17: note: in expansion of macro 'GET_BDA' 297 | count = GET_BDA(hdcount); | ^~~~~~~ src/disk.c: In function 'disk_13': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:626:5: note: in expansion of macro 'SET_BDA' 626 | SET_BDA(disk_interrupt_flag, 0); | ^~~~~~~ In function 'disk_1301', inlined from 'disk_13' at src/disk.c:630:16: src/disk.c:218:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 218 | v = GET_BDA(disk_last_status); src/disk.c:216:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 216 | v = GET_BDA(floppy_last_status); src/disk.c: In function 'handle_76': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:777:5: note: in expansion of macro 'SET_BDA' 777 | SET_BDA(disk_interrupt_flag, 0xff); | ^~~~~~~ Compile checking build/bios/src/mouse.o In file included from src/mouse.c:8: In function 'set_equipment_flags', inlined from 'mouse_init' at src/mouse.c:23:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c207' at src/mouse.c:231:20, inlined from 'handle_15c2' at src/mouse.c:272:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c205' at src/mouse.c:162:20, inlined from 'handle_15c2' at src/mouse.c:270:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c20001' at src/mouse.c:56:20, inlined from 'mouse_15c200' at src/mouse.c:82:16, inlined from 'handle_15c2' at src/mouse.c:265:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'process_mouse' at src/mouse.c:322:20: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking build/bios/src/kbd.o In file included from src/biosvar.h:10, from src/kbd.c:8: src/kbd.c: In function 'kbd_set_flag': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:397:18: note: in expansion of macro 'GET_BDA' 397 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:398:17: note: in expansion of macro 'GET_BDA' 398 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:407:5: note: in expansion of macro 'SET_BDA' 407 | SET_BDA(kbd_flag0, flags0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:408:5: note: in expansion of macro 'SET_BDA' 408 | SET_BDA(kbd_flag1, flags1); | ^~~~~~~ src/kbd.c: In function 'set_leds': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:230:23: note: in expansion of macro 'GET_BDA' 230 | u8 shift_flags = (GET_BDA(kbd_flag0) >> 4) & 0x07; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:231:18: note: in expansion of macro 'GET_BDA' 231 | u8 kbd_led = GET_BDA(kbd_led); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:241:5: note: in expansion of macro 'SET_BDA' 241 | SET_BDA(kbd_led, kbd_led); | ^~~~~~~ src/kbd.c: In function 'dequeue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:61:23: note: in expansion of macro 'GET_BDA' 61 | buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:62:23: note: in expansion of macro 'GET_BDA' 62 | buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:98:24: note: in expansion of macro 'GET_BDA' 98 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:99:24: note: in expansion of macro 'GET_BDA' 99 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:104:5: note: in expansion of macro 'SET_BDA' 104 | SET_BDA(kbd_buf_head, buffer_head); | ^~~~~~~ src/kbd.c: In function 'kbd_init': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ src/kbd.c: In function 'enqueue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:35:24: note: in expansion of macro 'GET_BDA' 35 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:36:24: note: in expansion of macro 'GET_BDA' 36 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:38:23: note: in expansion of macro 'GET_BDA' 38 | u16 buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:39:23: note: in expansion of macro 'GET_BDA' 39 | u16 buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:50:5: note: in expansion of macro 'SET_BDA' 50 | SET_BDA(kbd_buf_tail, buffer_tail); | ^~~~~~~ In function 'handle_1612', inlined from 'handle_16' at src/kbd.c:264:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:193:18: note: in expansion of macro 'GET_BDA' 193 | regs->ax = ((GET_BDA(kbd_flag0) & ~((KF1_RCTRL|KF1_RALT) << 8)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:194:21: note: in expansion of macro 'GET_BDA' 194 | | ((GET_BDA(kbd_flag1) & (KF1_RCTRL|KF1_RALT)) << 8)); | ^~~~~~~ In function 'handle_1602', inlined from 'handle_16' at src/kbd.c:258:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:134:16: note: in expansion of macro 'GET_BDA' 134 | regs->al = GET_BDA(kbd_flag0); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:459:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 459 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:473:9: note: in expansion of macro 'SET_BDA' 473 | SET_BDA(kbd_flag1, flags1 & ~(KF1_LAST_E0|KF1_LAST_E1)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:529:14: note: in expansion of macro 'GET_BDA' 529 | if ((GET_BDA(kbd_flag0) & (KF0_CTRLACTIVE|KF0_ALTACTIVE)) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:532:13: note: in expansion of macro 'SET_BDA' 532 | SET_BDA(soft_reset_flag, 0x1234); | ^~~~~~~ In function 'kbd_ctrl_break', inlined from '__process_key' at src/kbd.c:513:13, inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:417:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 417 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:418:5: note: in expansion of macro 'SET_BDA' 418 | SET_BDA(kbd_buf_head, buffer_start); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:419:5: note: in expansion of macro 'SET_BDA' 419 | SET_BDA(kbd_buf_tail, buffer_start+2); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:422:5: note: in expansion of macro 'SET_BDA' 422 | SET_BDA(break_flag, 0x80); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:552:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 552 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:463:9: note: in expansion of macro 'SET_BDA' 463 | SET_BDA(kbd_flag1, flags1 | eflag); | ^~~~~~~ Compile checking build/bios/src/system.o In file included from src/biosvar.h:10, from src/system.c:8: In function 'get_ebda_seg', inlined from 'handle_15c1' at src/system.c:255:16, inlined from 'handle_15' at src/system.c:352:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking build/bios/src/serial.o In file included from src/serial.c:8: In function 'set_equipment_flags', inlined from 'serial_setup' at src/serial.c:56:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at src/serial.c:212:14: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at src/serial.c:217:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking build/bios/src/sercon.o In file included from src/biosvar.h:10, from src/sercon.c:7: In function 'cursor_pos_set', inlined from 'sercon_cursor_pos_set' at src/sercon.c:190:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_lf' at src/sercon.c:270:11: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_lazy_lf' at src/sercon.c:271:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cursor_sync' at src/sercon.c:198:14, inlined from 'sercon_lazy_flush' at src/sercon.c:236:5: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_putchar' at src/sercon.c:296:9: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:285:11, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_cols', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:286:16, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_100f', inlined from 'handle_sercon' at src/sercon.c:505:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:456:16: note: in expansion of macro 'GET_BDA' 456 | regs->al = GET_BDA(video_mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:457:16: note: in expansion of macro 'GET_BDA' 457 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cr' at src/sercon.c:263:27, inlined from 'sercon_100e' at src/sercon.c:442:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_backspace' at src/sercon.c:254:11, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_backspace' at src/sercon.c:257:35, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1009' at src/sercon.c:411:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1009' at src/sercon.c:411:31, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1009' at src/sercon.c:412:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1009' at src/sercon.c:427:33, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1006' at src/sercon.c:384:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1006' at src/sercon.c:385:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_1003', inlined from 'handle_sercon' at src/sercon.c:500:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:371:16: note: in expansion of macro 'GET_BDA' 371 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1003' at src/sercon.c:372:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1003' at src/sercon.c:373:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'sercon_1001', inlined from 'handle_sercon' at src/sercon.c:498:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:359:5: note: in expansion of macro 'SET_BDA' 359 | SET_BDA(cursor_type, regs->cx); | ^~~~~~~ In function 'cursor_pos_set', inlined from 'sercon_1000' at src/sercon.c:335:9, inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'sercon_1000', inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:336:9: note: in expansion of macro 'SET_BDA' 336 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:337:9: note: in expansion of macro 'SET_BDA' 337 | SET_BDA(video_cols, cols); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:338:9: note: in expansion of macro 'SET_BDA' 338 | SET_BDA(video_rows, rows-1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:339:9: note: in expansion of macro 'SET_BDA' 339 | SET_BDA(cursor_type, 0x0007); | ^~~~~~~ src/sercon.c: In function 'sercon_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/sercon.c:528:15: note: in expansion of macro 'GET_IVT' 528 | vgabios = GET_IVT(0x10); | ^~~~~~~ src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ Compile checking build/bios/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)) | ^~~~~~~ In function 'clear_usertimer', inlined from 'clear_usertimer' at src/clock.c:381:1: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:386:5: note: in expansion of macro 'SET_BDA' 386 | SET_BDA(rtc_wait_flag, 0); | ^~~~~~~ src/clock.c: In function 'clock_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In function 'handle_1a01', inlined from 'handle_1a' at src/clock.c:268:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(timer_counter, ticks); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:87:5: note: in expansion of macro 'SET_BDA' 87 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'handle_1a00', inlined from 'handle_1a' at src/clock.c:267:16: src/clock.c:73:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 73 | u32 ticks = GET_BDA(timer_counter); | ^~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:76:16: note: in expansion of macro 'GET_BDA' 76 | regs->al = GET_BDA(timer_rollover); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:77:5: note: in expansion of macro 'SET_BDA' 77 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'clock_update', inlined from 'handle_08' at src/clock.c:306:5: src/clock.c:284:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 284 | u32 counter = GET_BDA(timer_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:290:33: note: in expansion of macro 'GET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:292:5: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(timer_counter, counter); | ^~~~~~~ src/clock.c: In function 'irqtimer_calc_ticks': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:341:13: note: in expansion of macro 'GET_BDA' 341 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ src/clock.c: In function 'irqtimer_calc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:349:16: note: in expansion of macro 'GET_BDA' 349 | return GET_BDA(timer_counter); | ^~~~~~~ src/clock.c: In function 'irqtimer_check': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:357:15: note: in expansion of macro 'GET_BDA' 357 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_1586' at src/clock.c:403:15: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:369:9: note: in expansion of macro 'GET_BDA' 369 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:373:5: note: in expansion of macro 'SET_BDA' 373 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:374:5: note: in expansion of macro 'SET_BDA' 374 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:374:5: note: in expansion of macro 'SET_BDA' 374 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:375:5: note: in expansion of macro 'SET_BDA' 375 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_158300' at src/clock.c:417:15, inlined from 'handle_1583' at src/clock.c:448:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:369:9: note: in expansion of macro 'GET_BDA' 369 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:373:5: note: in expansion of macro 'SET_BDA' 373 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:374:5: note: in expansion of macro 'SET_BDA' 374 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:374:5: note: in expansion of macro 'SET_BDA' 374 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:375:5: note: in expansion of macro 'SET_BDA' 375 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ src/clock.c: In function 'handle_70': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:484:10: note: in expansion of macro 'GET_BDA' 484 | if (!GET_BDA(rtc_wait_flag)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:488:16: note: in expansion of macro 'GET_BDA' 488 | u32 time = GET_BDA(user_wait_timeout); // Time left in microseconds. | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:501:9: note: in expansion of macro 'SET_BDA' 501 | SET_BDA(user_wait_timeout, time); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:491:34: note: in expansion of macro 'GET_BDA' 491 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:491:34: note: in expansion of macro 'GET_BDA' 491 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ Compile checking build/bios/src/resume.o Compile checking build/bios/src/pnpbios.o Compile checking build/bios/src/vgahooks.o Compile checking build/bios/src/pcibios.o Compile checking build/bios/src/apm.o Compile checking build/bios/src/cp437.o Compile checking build/bios/src/hw/pci.o Compile checking build/bios/src/hw/timer.o Compile checking build/bios/src/hw/rtc.o Compile checking build/bios/src/hw/dma.o Compile checking build/bios/src/hw/pic.o Compile checking build/bios/src/hw/ps2port.o Compile checking build/bios/src/hw/serialio.o Compile checking build/bios/src/hw/usb.o Compile checking build/bios/src/hw/usb-uhci.o Compile checking build/bios/src/hw/usb-ohci.o Compile checking build/bios/src/hw/usb-ehci.o Compile checking build/bios/src/hw/usb-hid.o Compile checking build/bios/src/hw/usb-msc.o Compile checking build/bios/src/hw/usb-uas.o Compile checking build/bios/src/hw/blockcmd.o Compile checking build/bios/src/hw/floppy.o In file included from src/biosvar.h:10, from src/hw/floppy.c:8: src/hw/floppy.c: In function 'floppy_wait_irq': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:226:14: note: in expansion of macro 'GET_BDA' 226 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:227:5: note: in expansion of macro 'SET_BDA' 227 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:235:15: note: in expansion of macro 'GET_BDA' 235 | frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:243:5: note: in expansion of macro 'SET_BDA' 243 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_drive_pio': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:372:5: note: in expansion of macro 'SET_BDA' 372 | SET_BDA(floppy_motor_counter, 255); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:387:5: note: in expansion of macro 'SET_BDA' 387 | SET_BDA(floppy_motor_counter, FLOPPY_MOTOR_TICKS); // reset motor timeout | ^~~~~~~ src/hw/floppy.c: In function 'floppy_prep': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:494:11: note: in expansion of macro 'GET_BDA' 494 | if (!(GET_BDA(floppy_recalibration_status) & (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:414:5: note: in expansion of macro 'SET_BDA' 414 | SET_BDA(floppy_recalibration_status, frs | (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:478:5: note: in expansion of macro 'SET_BDA' 478 | SET_BDA(floppy_last_data_rate, (old_data_rate<<2) | (data_rate<<6)); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_setup': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'floppy_reset', inlined from 'floppy_process_op' at src/hw/floppy.c:691:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:594:5: note: in expansion of macro 'SET_BDA' 594 | SET_BDA(floppy_recalibration_status, 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:595:5: note: in expansion of macro 'SET_BDA' 595 | SET_BDA(floppy_media_state[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:596:5: note: in expansion of macro 'SET_BDA' 596 | SET_BDA(floppy_media_state[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:597:5: note: in expansion of macro 'SET_BDA' 597 | SET_BDA(floppy_track[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:598:5: note: in expansion of macro 'SET_BDA' 598 | SET_BDA(floppy_track[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:599:5: note: in expansion of macro 'SET_BDA' 599 | SET_BDA(floppy_last_data_rate, 0); | ^~~~~~~ src/hw/floppy.c: In function 'handle_0e': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:719:14: note: in expansion of macro 'GET_BDA' 719 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:720:5: note: in expansion of macro 'SET_BDA' 720 | SET_BDA(floppy_recalibration_status, frs | FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_tick': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:733:17: note: in expansion of macro 'GET_BDA' 733 | u8 fcount = GET_BDA(floppy_motor_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:736:9: note: in expansion of macro 'SET_BDA' 736 | SET_BDA(floppy_motor_counter, fcount); | ^~~~~~~ Compile checking build/bios/src/hw/ata.o In file included from src/biosvar.h:10, from src/hw/ata.c:9: src/hw/ata.c: In function 'ata_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ Compile checking build/bios/src/hw/ramdisk.o Compile checking build/bios/src/hw/lsi-scsi.o Compile checking build/bios/src/hw/esp-scsi.o Compile checking build/bios/src/hw/megasas.o Compile checking build/bios/src/hw/mpt-scsi.o Compile checking build/bios/src/post.o In file included from src/biosvar.h:10, from src/post.c:8: In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'bda_init' at src/post.c:91:46, inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking build/bios/src/e820map.o Compile checking build/bios/src/malloc.o In file included from src/biosvar.h:10, from src/malloc.c:7: src/malloc.c: In function 'malloc_prepboot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ Compile checking build/bios/src/romfile.o Compile checking build/bios/src/x86.o Compile checking build/bios/src/optionroms.o In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:344:28: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:348:9: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In file included from src/optionroms.c:10: In function 'boot_irq_restore', inlined from 'init_pcirom' at src/optionroms.c:354:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ Compile checking build/bios/src/pmm.o Compile checking build/bios/src/font.o Compile checking build/bios/src/boot.o Compile checking build/bios/src/bootsplash.o Compile checking build/bios/src/jpeg.o Compile checking build/bios/src/bmp.o Compile checking build/bios/src/tcgbios.o Compile checking build/bios/src/sha1.o Compile checking build/bios/src/hw/pcidevice.o Compile checking build/bios/src/hw/ahci.o Compile checking build/bios/src/hw/pvscsi.o Compile checking build/bios/src/hw/usb-xhci.o Compile checking build/bios/src/hw/usb-hub.o Compile checking build/bios/src/hw/sdcard.o Compile checking build/bios/src/fw/coreboot.o Compile checking build/bios/src/fw/lzmadecode.o Compile checking build/bios/src/fw/multiboot.o Compile checking build/bios/src/fw/csm.o Compile checking build/bios/src/fw/biostables.o Compile checking build/bios/src/fw/paravirt.o Compile checking build/bios/src/fw/shadow.o Compile checking build/bios/src/fw/pciinit.o Compile checking build/bios/src/fw/smm.o Compile checking build/bios/src/fw/smp.o Compile checking build/bios/src/fw/mtrr.o Compile checking build/bios/src/fw/xen.o Compile checking build/bios/src/fw/acpi.o Compile checking build/bios/src/fw/mptable.o Compile checking build/bios/src/fw/pirtable.o Compile checking build/bios/src/fw/smbios.o Compile checking build/bios/src/fw/romfile_loader.o Compile checking build/bios/src/fw/dsdt_parser.o Compile checking build/bios/src/hw/virtio-ring.o Compile checking build/bios/src/hw/virtio-pci.o Compile checking build/bios/src/hw/virtio-mmio.o Compile checking build/bios/src/hw/virtio-blk.o Compile checking build/bios/src/hw/virtio-scsi.o Compile checking build/bios/src/hw/tpm_drivers.o Compile checking build/bios/src/hw/nvme.o Compile checking build/bios/src/sha256.o Compile checking build/bios/src/sha512.o Compiling whole program build/bios/ccode32flat.o In file included from ./src/biosvar.h:10, from ./src/misc.c:8, from build/bios/ccode32flat.o.tmp.c:1: In function 'irqtimer_calc_ticks', inlined from 'irqtimer_calc' at ./src/clock.c:350:12, inlined from 'irqtimer_calc' at ./src/clock.c:346:1: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:341:13: note: in expansion of macro 'GET_BDA' 341 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ ./src/clock.c: In function 'irqtimer_calc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:349:16: note: in expansion of macro 'GET_BDA' 349 | return GET_BDA(timer_counter); | ^~~~~~~ ./src/output.c: In function 'screenc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ ./src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ In function 'irqtimer_check', inlined from 'get_keystroke_full' at ./src/boot.c:661:13: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:357:15: note: in expansion of macro 'GET_BDA' 357 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'irqtimer_check', inlined from 'boot_fail' at ./src/boot.c:974:41: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:357:15: note: in expansion of macro 'GET_BDA' 357 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In file included from build/bios/ccode32flat.o.tmp.c:47: In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:344:28: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:348:9: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_restore', inlined from 'init_pcirom' at ./src/optionroms.c:354:9: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ In function 'floppy_setup', inlined from 'block_setup' at ./src/block.c:510:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'ata_setup', inlined from 'block_setup' at ./src/block.c:511:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at ./src/serial.c:212:14, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at ./src/serial.c:217:5, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'serial_setup' at ./src/serial.c:56:5, inlined from 'device_hardware_setup' at ./src/post.c:133:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ ./src/cdrom.c: In function 'cdrom_boot': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at ./src/cdrom.c:242:9: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at ./src/post.c:114:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'bda_init' at ./src/post.c:91:46, inlined from 'interface_init' at ./src/post.c:114:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'kbd_init', inlined from 'interface_init' at ./src/post.c:121:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mouse_init' at ./src/mouse.c:23:5, inlined from 'interface_init' at ./src/post.c:122:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at ./src/misc.c:66:5, inlined from 'platform_hardware_setup' at ./src/post.c:146:5, inlined from 'maininit' at ./src/post.c:203:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'clock_setup', inlined from 'platform_hardware_setup' at ./src/post.c:154:5, inlined from 'maininit' at ./src/post.c:203:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In file included from build/bios/ccode32flat.o.tmp.c:12: In function 'sercon_setup', inlined from 'maininit' at ./src/post.c:211:5: ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ In function 'irqtimer_check', inlined from 'interactive_bootmenu' at ./src/boot.c:755:37, inlined from 'maininit' at ./src/post.c:224:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:357:15: note: in expansion of macro 'GET_BDA' 357 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'malloc_prepboot', inlined from 'prepareboot' at ./src/post.c:172:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ In file included from build/bios/ccode32flat.o.tmp.c:5: In function 'map_hd_drive', inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ~~~^~~~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'fill_fdpt' at ./src/block.c:213:28, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:239:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:236:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:296:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:292:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compiling whole program build/bios/code32seg.o Compiling whole program build/bios/ccode16.o Compiling to assembler build/bios/src/asm-offsets.s Generating offset file build/bios/asm-offsets.h Compiling (16bit) build/bios/romlayout.o Building ld scripts Version: 1.16.2-debian-1.16.2-1 ld: warning: build/bios/romlayout.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker Fixed space: 0xe05b-0x10000 total: 8101 slack: 13 Percent slack: 0.2% 16bit size: 34720 32bit segmented size: 2297 32bit flat size: 30407 32bit flat init size: 53952 Lowmem size: 2208 f-segment var size: 1216 Linking build/bios/rom16.o ld: warning: build/bios/code16.o: requires executable stack (because the .note.GNU-stack section is executable) ld: warning: build/bios/rom16.o has a LOAD segment with RWX permissions Stripping build/bios/rom16.noexec.o Linking build/bios/rom32seg.o Stripping build/bios/rom32seg.noexec.o Linking build/bios/rom.o ld: warning: build/bios/rom32seg.noexec.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker ld: warning: build/bios/rom.o has a LOAD segment with RWX permissions Prepping build/bios/bios.bin.prep Total size: 129056 Fixed: 68640 Free: 2016 (used 98.5% of 128KiB rom) Creating build/bios/bios.bin make[1]: Leaving directory '/build/seabios-1.16.2' rm -f build/bios.bin ln build/bios/bios.bin build/bios.bin === Building bios-256k.bin === set -e; if [ ! -e build/bios-256k/.config.old ]; then rm -rf build/bios-256k; mkdir -p build/bios-256k; for x in QEMU=y ROM_SIZE=256; do echo CONFIG_$x; done > build/bios-256k/.config; /usr/bin/make PYTHON="python3 -B" KCONFIG_CONFIG=/build/seabios-1.16.2/build/bios-256k/.config OUT=build/bios-256k/ oldnoconfig; fi make[1]: Entering directory '/build/seabios-1.16.2' scripts/kconfig/conf --olddefconfig /build/seabios-1.16.2/src/Kconfig # # configuration written to /build/seabios-1.16.2/build/bios-256k/.config # make[1]: Leaving directory '/build/seabios-1.16.2' /usr/bin/make PYTHON="python3 -B" $(cat build/env) KCONFIG_CONFIG=/build/seabios-1.16.2/build/bios-256k/.config OUT=build/bios-256k/ build/bios-256k/bios.bin make[1]: Entering directory '/build/seabios-1.16.2' Build Kconfig config file Compile checking build/bios-256k/src/misc.o In file included from src/biosvar.h:10, from src/misc.c:8: src/misc.c: In function 'handle_12': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:36:16: note: in expansion of macro 'GET_BDA' 36 | regs->ax = GET_BDA(mem_size_kb); | ^~~~~~~ src/misc.c: In function 'handle_11': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:44:16: note: in expansion of macro 'GET_BDA' 44 | regs->ax = GET_BDA(equipment_list_flags); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at src/misc.c:66:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking build/bios-256k/src/stacks.o Compile checking build/bios-256k/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking build/bios-256k/src/string.o Compile checking build/bios-256k/src/block.o src/block.c: In function 'map_hd_drive': src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ^~ In file included from src/biosvar.h:10, from src/block.c:8: In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'fill_fdpt' at src/block.c:213:28, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:239:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:236:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:296:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:292:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compile checking build/bios-256k/src/cdrom.o In file included from src/biosvar.h:10, from src/cdrom.c:8: src/cdrom.c: In function 'cdrom_boot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at src/cdrom.c:242:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking build/bios-256k/src/disk.o In file included from src/biosvar.h:10, from src/disk.c:8: src/disk.c: In function '__disk_ret_unimplemented': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:45:9: note: in expansion of macro 'SET_BDA' 45 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:43:9: note: in expansion of macro 'SET_BDA' 43 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function '__disk_ret': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:31:9: note: in expansion of macro 'SET_BDA' 31 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:29:9: note: in expansion of macro 'SET_BDA' 29 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function 'disk_1308': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/disk.c:297:17: note: in expansion of macro 'GET_BDA' 297 | count = GET_BDA(hdcount); | ^~~~~~~ src/disk.c: In function 'disk_13': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:626:5: note: in expansion of macro 'SET_BDA' 626 | SET_BDA(disk_interrupt_flag, 0); | ^~~~~~~ In function 'disk_1301', inlined from 'disk_13' at src/disk.c:630:16: src/disk.c:218:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 218 | v = GET_BDA(disk_last_status); src/disk.c:216:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 216 | v = GET_BDA(floppy_last_status); src/disk.c: In function 'handle_76': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:777:5: note: in expansion of macro 'SET_BDA' 777 | SET_BDA(disk_interrupt_flag, 0xff); | ^~~~~~~ Compile checking build/bios-256k/src/mouse.o In file included from src/mouse.c:8: In function 'set_equipment_flags', inlined from 'mouse_init' at src/mouse.c:23:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c207' at src/mouse.c:231:20, inlined from 'handle_15c2' at src/mouse.c:272:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c205' at src/mouse.c:162:20, inlined from 'handle_15c2' at src/mouse.c:270:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c20001' at src/mouse.c:56:20, inlined from 'mouse_15c200' at src/mouse.c:82:16, inlined from 'handle_15c2' at src/mouse.c:265:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'process_mouse' at src/mouse.c:322:20: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking build/bios-256k/src/kbd.o In file included from src/biosvar.h:10, from src/kbd.c:8: src/kbd.c: In function 'kbd_set_flag': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:397:18: note: in expansion of macro 'GET_BDA' 397 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:398:17: note: in expansion of macro 'GET_BDA' 398 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:407:5: note: in expansion of macro 'SET_BDA' 407 | SET_BDA(kbd_flag0, flags0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:408:5: note: in expansion of macro 'SET_BDA' 408 | SET_BDA(kbd_flag1, flags1); | ^~~~~~~ src/kbd.c: In function 'set_leds': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:230:23: note: in expansion of macro 'GET_BDA' 230 | u8 shift_flags = (GET_BDA(kbd_flag0) >> 4) & 0x07; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:231:18: note: in expansion of macro 'GET_BDA' 231 | u8 kbd_led = GET_BDA(kbd_led); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:241:5: note: in expansion of macro 'SET_BDA' 241 | SET_BDA(kbd_led, kbd_led); | ^~~~~~~ src/kbd.c: In function 'dequeue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:61:23: note: in expansion of macro 'GET_BDA' 61 | buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:62:23: note: in expansion of macro 'GET_BDA' 62 | buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:98:24: note: in expansion of macro 'GET_BDA' 98 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:99:24: note: in expansion of macro 'GET_BDA' 99 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:104:5: note: in expansion of macro 'SET_BDA' 104 | SET_BDA(kbd_buf_head, buffer_head); | ^~~~~~~ src/kbd.c: In function 'kbd_init': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ src/kbd.c: In function 'enqueue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:35:24: note: in expansion of macro 'GET_BDA' 35 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:36:24: note: in expansion of macro 'GET_BDA' 36 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:38:23: note: in expansion of macro 'GET_BDA' 38 | u16 buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:39:23: note: in expansion of macro 'GET_BDA' 39 | u16 buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:50:5: note: in expansion of macro 'SET_BDA' 50 | SET_BDA(kbd_buf_tail, buffer_tail); | ^~~~~~~ In function 'handle_1612', inlined from 'handle_16' at src/kbd.c:264:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:193:18: note: in expansion of macro 'GET_BDA' 193 | regs->ax = ((GET_BDA(kbd_flag0) & ~((KF1_RCTRL|KF1_RALT) << 8)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:194:21: note: in expansion of macro 'GET_BDA' 194 | | ((GET_BDA(kbd_flag1) & (KF1_RCTRL|KF1_RALT)) << 8)); | ^~~~~~~ In function 'handle_1602', inlined from 'handle_16' at src/kbd.c:258:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:134:16: note: in expansion of macro 'GET_BDA' 134 | regs->al = GET_BDA(kbd_flag0); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:459:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 459 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:473:9: note: in expansion of macro 'SET_BDA' 473 | SET_BDA(kbd_flag1, flags1 & ~(KF1_LAST_E0|KF1_LAST_E1)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:529:14: note: in expansion of macro 'GET_BDA' 529 | if ((GET_BDA(kbd_flag0) & (KF0_CTRLACTIVE|KF0_ALTACTIVE)) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:532:13: note: in expansion of macro 'SET_BDA' 532 | SET_BDA(soft_reset_flag, 0x1234); | ^~~~~~~ In function 'kbd_ctrl_break', inlined from '__process_key' at src/kbd.c:513:13, inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:417:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 417 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:418:5: note: in expansion of macro 'SET_BDA' 418 | SET_BDA(kbd_buf_head, buffer_start); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:419:5: note: in expansion of macro 'SET_BDA' 419 | SET_BDA(kbd_buf_tail, buffer_start+2); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:422:5: note: in expansion of macro 'SET_BDA' 422 | SET_BDA(break_flag, 0x80); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:552:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 552 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:463:9: note: in expansion of macro 'SET_BDA' 463 | SET_BDA(kbd_flag1, flags1 | eflag); | ^~~~~~~ Compile checking build/bios-256k/src/system.o In file included from src/biosvar.h:10, from src/system.c:8: In function 'get_ebda_seg', inlined from 'handle_15c1' at src/system.c:255:16, inlined from 'handle_15' at src/system.c:352:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking build/bios-256k/src/serial.o In file included from src/serial.c:8: In function 'set_equipment_flags', inlined from 'serial_setup' at src/serial.c:56:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at src/serial.c:212:14: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at src/serial.c:217:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking build/bios-256k/src/sercon.o In file included from src/biosvar.h:10, from src/sercon.c:7: In function 'cursor_pos_set', inlined from 'sercon_cursor_pos_set' at src/sercon.c:190:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_lf' at src/sercon.c:270:11: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_lazy_lf' at src/sercon.c:271:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cursor_sync' at src/sercon.c:198:14, inlined from 'sercon_lazy_flush' at src/sercon.c:236:5: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_putchar' at src/sercon.c:296:9: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:285:11, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_cols', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:286:16, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_100f', inlined from 'handle_sercon' at src/sercon.c:505:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:456:16: note: in expansion of macro 'GET_BDA' 456 | regs->al = GET_BDA(video_mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:457:16: note: in expansion of macro 'GET_BDA' 457 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cr' at src/sercon.c:263:27, inlined from 'sercon_100e' at src/sercon.c:442:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_backspace' at src/sercon.c:254:11, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_backspace' at src/sercon.c:257:35, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1009' at src/sercon.c:411:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1009' at src/sercon.c:411:31, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1009' at src/sercon.c:412:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1009' at src/sercon.c:427:33, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1006' at src/sercon.c:384:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1006' at src/sercon.c:385:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_1003', inlined from 'handle_sercon' at src/sercon.c:500:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:371:16: note: in expansion of macro 'GET_BDA' 371 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1003' at src/sercon.c:372:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1003' at src/sercon.c:373:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'sercon_1001', inlined from 'handle_sercon' at src/sercon.c:498:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:359:5: note: in expansion of macro 'SET_BDA' 359 | SET_BDA(cursor_type, regs->cx); | ^~~~~~~ In function 'cursor_pos_set', inlined from 'sercon_1000' at src/sercon.c:335:9, inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'sercon_1000', inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:336:9: note: in expansion of macro 'SET_BDA' 336 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:337:9: note: in expansion of macro 'SET_BDA' 337 | SET_BDA(video_cols, cols); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:338:9: note: in expansion of macro 'SET_BDA' 338 | SET_BDA(video_rows, rows-1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:339:9: note: in expansion of macro 'SET_BDA' 339 | SET_BDA(cursor_type, 0x0007); | ^~~~~~~ src/sercon.c: In function 'sercon_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/sercon.c:528:15: note: in expansion of macro 'GET_IVT' 528 | vgabios = GET_IVT(0x10); | ^~~~~~~ src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ Compile checking build/bios-256k/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)) | ^~~~~~~ In function 'clear_usertimer', inlined from 'clear_usertimer' at src/clock.c:381:1: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:386:5: note: in expansion of macro 'SET_BDA' 386 | SET_BDA(rtc_wait_flag, 0); | ^~~~~~~ src/clock.c: In function 'clock_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In function 'handle_1a01', inlined from 'handle_1a' at src/clock.c:268:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(timer_counter, ticks); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:87:5: note: in expansion of macro 'SET_BDA' 87 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'handle_1a00', inlined from 'handle_1a' at src/clock.c:267:16: src/clock.c:73:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 73 | u32 ticks = GET_BDA(timer_counter); | ^~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:76:16: note: in expansion of macro 'GET_BDA' 76 | regs->al = GET_BDA(timer_rollover); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:77:5: note: in expansion of macro 'SET_BDA' 77 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'clock_update', inlined from 'handle_08' at src/clock.c:306:5: src/clock.c:284:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 284 | u32 counter = GET_BDA(timer_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:290:33: note: in expansion of macro 'GET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:292:5: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(timer_counter, counter); | ^~~~~~~ src/clock.c: In function 'irqtimer_calc_ticks': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:341:13: note: in expansion of macro 'GET_BDA' 341 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ src/clock.c: In function 'irqtimer_calc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:349:16: note: in expansion of macro 'GET_BDA' 349 | return GET_BDA(timer_counter); | ^~~~~~~ src/clock.c: In function 'irqtimer_check': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:357:15: note: in expansion of macro 'GET_BDA' 357 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_1586' at src/clock.c:403:15: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:369:9: note: in expansion of macro 'GET_BDA' 369 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:373:5: note: in expansion of macro 'SET_BDA' 373 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:374:5: note: in expansion of macro 'SET_BDA' 374 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:374:5: note: in expansion of macro 'SET_BDA' 374 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:375:5: note: in expansion of macro 'SET_BDA' 375 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_158300' at src/clock.c:417:15, inlined from 'handle_1583' at src/clock.c:448:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:369:9: note: in expansion of macro 'GET_BDA' 369 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:373:5: note: in expansion of macro 'SET_BDA' 373 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:374:5: note: in expansion of macro 'SET_BDA' 374 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:374:5: note: in expansion of macro 'SET_BDA' 374 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:375:5: note: in expansion of macro 'SET_BDA' 375 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ src/clock.c: In function 'handle_70': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:484:10: note: in expansion of macro 'GET_BDA' 484 | if (!GET_BDA(rtc_wait_flag)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:488:16: note: in expansion of macro 'GET_BDA' 488 | u32 time = GET_BDA(user_wait_timeout); // Time left in microseconds. | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:501:9: note: in expansion of macro 'SET_BDA' 501 | SET_BDA(user_wait_timeout, time); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:491:34: note: in expansion of macro 'GET_BDA' 491 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:491:34: note: in expansion of macro 'GET_BDA' 491 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ Compile checking build/bios-256k/src/resume.o Compile checking build/bios-256k/src/pnpbios.o Compile checking build/bios-256k/src/vgahooks.o Compile checking build/bios-256k/src/pcibios.o Compile checking build/bios-256k/src/apm.o Compile checking build/bios-256k/src/cp437.o Compile checking build/bios-256k/src/hw/pci.o Compile checking build/bios-256k/src/hw/timer.o Compile checking build/bios-256k/src/hw/rtc.o Compile checking build/bios-256k/src/hw/dma.o Compile checking build/bios-256k/src/hw/pic.o Compile checking build/bios-256k/src/hw/ps2port.o Compile checking build/bios-256k/src/hw/serialio.o Compile checking build/bios-256k/src/hw/usb.o Compile checking build/bios-256k/src/hw/usb-uhci.o Compile checking build/bios-256k/src/hw/usb-ohci.o Compile checking build/bios-256k/src/hw/usb-ehci.o Compile checking build/bios-256k/src/hw/usb-hid.o Compile checking build/bios-256k/src/hw/usb-msc.o Compile checking build/bios-256k/src/hw/usb-uas.o Compile checking build/bios-256k/src/hw/blockcmd.o Compile checking build/bios-256k/src/hw/floppy.o In file included from src/biosvar.h:10, from src/hw/floppy.c:8: src/hw/floppy.c: In function 'floppy_wait_irq': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:226:14: note: in expansion of macro 'GET_BDA' 226 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:227:5: note: in expansion of macro 'SET_BDA' 227 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:235:15: note: in expansion of macro 'GET_BDA' 235 | frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:243:5: note: in expansion of macro 'SET_BDA' 243 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_drive_pio': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:372:5: note: in expansion of macro 'SET_BDA' 372 | SET_BDA(floppy_motor_counter, 255); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:387:5: note: in expansion of macro 'SET_BDA' 387 | SET_BDA(floppy_motor_counter, FLOPPY_MOTOR_TICKS); // reset motor timeout | ^~~~~~~ src/hw/floppy.c: In function 'floppy_prep': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:494:11: note: in expansion of macro 'GET_BDA' 494 | if (!(GET_BDA(floppy_recalibration_status) & (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:414:5: note: in expansion of macro 'SET_BDA' 414 | SET_BDA(floppy_recalibration_status, frs | (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:478:5: note: in expansion of macro 'SET_BDA' 478 | SET_BDA(floppy_last_data_rate, (old_data_rate<<2) | (data_rate<<6)); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_setup': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'floppy_reset', inlined from 'floppy_process_op' at src/hw/floppy.c:691:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:594:5: note: in expansion of macro 'SET_BDA' 594 | SET_BDA(floppy_recalibration_status, 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:595:5: note: in expansion of macro 'SET_BDA' 595 | SET_BDA(floppy_media_state[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:596:5: note: in expansion of macro 'SET_BDA' 596 | SET_BDA(floppy_media_state[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:597:5: note: in expansion of macro 'SET_BDA' 597 | SET_BDA(floppy_track[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:598:5: note: in expansion of macro 'SET_BDA' 598 | SET_BDA(floppy_track[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:599:5: note: in expansion of macro 'SET_BDA' 599 | SET_BDA(floppy_last_data_rate, 0); | ^~~~~~~ src/hw/floppy.c: In function 'handle_0e': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:719:14: note: in expansion of macro 'GET_BDA' 719 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:720:5: note: in expansion of macro 'SET_BDA' 720 | SET_BDA(floppy_recalibration_status, frs | FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_tick': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:733:17: note: in expansion of macro 'GET_BDA' 733 | u8 fcount = GET_BDA(floppy_motor_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:736:9: note: in expansion of macro 'SET_BDA' 736 | SET_BDA(floppy_motor_counter, fcount); | ^~~~~~~ Compile checking build/bios-256k/src/hw/ata.o In file included from src/biosvar.h:10, from src/hw/ata.c:9: src/hw/ata.c: In function 'ata_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ Compile checking build/bios-256k/src/hw/ramdisk.o Compile checking build/bios-256k/src/hw/lsi-scsi.o Compile checking build/bios-256k/src/hw/esp-scsi.o Compile checking build/bios-256k/src/hw/megasas.o Compile checking build/bios-256k/src/hw/mpt-scsi.o Compile checking build/bios-256k/src/post.o In file included from src/biosvar.h:10, from src/post.c:8: In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'bda_init' at src/post.c:91:46, inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking build/bios-256k/src/e820map.o Compile checking build/bios-256k/src/malloc.o In file included from src/biosvar.h:10, from src/malloc.c:7: src/malloc.c: In function 'malloc_prepboot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ Compile checking build/bios-256k/src/romfile.o Compile checking build/bios-256k/src/x86.o Compile checking build/bios-256k/src/optionroms.o In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:344:28: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:348:9: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In file included from src/optionroms.c:10: In function 'boot_irq_restore', inlined from 'init_pcirom' at src/optionroms.c:354:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ Compile checking build/bios-256k/src/pmm.o Compile checking build/bios-256k/src/font.o Compile checking build/bios-256k/src/boot.o Compile checking build/bios-256k/src/bootsplash.o Compile checking build/bios-256k/src/jpeg.o Compile checking build/bios-256k/src/bmp.o Compile checking build/bios-256k/src/tcgbios.o Compile checking build/bios-256k/src/sha1.o Compile checking build/bios-256k/src/hw/pcidevice.o Compile checking build/bios-256k/src/hw/ahci.o Compile checking build/bios-256k/src/hw/pvscsi.o Compile checking build/bios-256k/src/hw/usb-xhci.o Compile checking build/bios-256k/src/hw/usb-hub.o Compile checking build/bios-256k/src/hw/sdcard.o Compile checking build/bios-256k/src/fw/coreboot.o Compile checking build/bios-256k/src/fw/lzmadecode.o Compile checking build/bios-256k/src/fw/multiboot.o Compile checking build/bios-256k/src/fw/csm.o Compile checking build/bios-256k/src/fw/biostables.o Compile checking build/bios-256k/src/fw/paravirt.o Compile checking build/bios-256k/src/fw/shadow.o Compile checking build/bios-256k/src/fw/pciinit.o Compile checking build/bios-256k/src/fw/smm.o Compile checking build/bios-256k/src/fw/smp.o Compile checking build/bios-256k/src/fw/mtrr.o Compile checking build/bios-256k/src/fw/xen.o Compile checking build/bios-256k/src/fw/acpi.o Compile checking build/bios-256k/src/fw/mptable.o Compile checking build/bios-256k/src/fw/pirtable.o Compile checking build/bios-256k/src/fw/smbios.o Compile checking build/bios-256k/src/fw/romfile_loader.o Compile checking build/bios-256k/src/fw/dsdt_parser.o Compile checking build/bios-256k/src/hw/virtio-ring.o Compile checking build/bios-256k/src/hw/virtio-pci.o Compile checking build/bios-256k/src/hw/virtio-mmio.o Compile checking build/bios-256k/src/hw/virtio-blk.o Compile checking build/bios-256k/src/hw/virtio-scsi.o Compile checking build/bios-256k/src/hw/tpm_drivers.o Compile checking build/bios-256k/src/hw/nvme.o Compile checking build/bios-256k/src/sha256.o Compile checking build/bios-256k/src/sha512.o Compiling whole program build/bios-256k/ccode32flat.o In file included from ./src/biosvar.h:10, from ./src/misc.c:8, from build/bios-256k/ccode32flat.o.tmp.c:1: In function 'irqtimer_calc_ticks', inlined from 'irqtimer_calc' at ./src/clock.c:350:12, inlined from 'irqtimer_calc' at ./src/clock.c:346:1: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:341:13: note: in expansion of macro 'GET_BDA' 341 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ ./src/clock.c: In function 'irqtimer_calc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:349:16: note: in expansion of macro 'GET_BDA' 349 | return GET_BDA(timer_counter); | ^~~~~~~ ./src/output.c: In function 'screenc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ ./src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ In function 'irqtimer_check', inlined from 'get_keystroke_full' at ./src/boot.c:661:13: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:357:15: note: in expansion of macro 'GET_BDA' 357 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'irqtimer_check', inlined from 'boot_fail' at ./src/boot.c:974:41: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:357:15: note: in expansion of macro 'GET_BDA' 357 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at ./src/post.c:114:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'bda_init' at ./src/post.c:91:46, inlined from 'interface_init' at ./src/post.c:114:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'kbd_init', inlined from 'interface_init' at ./src/post.c:121:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mouse_init' at ./src/mouse.c:23:5, inlined from 'interface_init' at ./src/post.c:122:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In file included from build/bios-256k/ccode32flat.o.tmp.c:47: In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:344:28: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:348:9: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_restore', inlined from 'init_pcirom' at ./src/optionroms.c:354:9: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ In function 'floppy_setup', inlined from 'block_setup' at ./src/block.c:510:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'ata_setup', inlined from 'block_setup' at ./src/block.c:511:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at ./src/serial.c:212:14, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at ./src/serial.c:217:5, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'serial_setup' at ./src/serial.c:56:5, inlined from 'device_hardware_setup' at ./src/post.c:133:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at ./src/misc.c:66:5, inlined from 'platform_hardware_setup' at ./src/post.c:146:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'clock_setup', inlined from 'platform_hardware_setup' at ./src/post.c:154:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ ./src/cdrom.c: In function 'cdrom_boot': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at ./src/cdrom.c:242:9: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In file included from build/bios-256k/ccode32flat.o.tmp.c:12: In function 'sercon_setup', inlined from 'maininit' at ./src/post.c:211:5: ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ In function 'irqtimer_check', inlined from 'interactive_bootmenu' at ./src/boot.c:755:37, inlined from 'maininit' at ./src/post.c:224:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:357:15: note: in expansion of macro 'GET_BDA' 357 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'malloc_prepboot', inlined from 'prepareboot' at ./src/post.c:172:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ In file included from build/bios-256k/ccode32flat.o.tmp.c:5: In function 'map_hd_drive', inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ~~~^~~~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'fill_fdpt' at ./src/block.c:213:28, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:239:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:236:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:296:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:292:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compiling whole program build/bios-256k/code32seg.o Compiling whole program build/bios-256k/ccode16.o Compiling to assembler build/bios-256k/src/asm-offsets.s Generating offset file build/bios-256k/asm-offsets.h Compiling (16bit) build/bios-256k/romlayout.o Building ld scripts Version: 1.16.2-debian-1.16.2-1 ld: warning: build/bios-256k/romlayout.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker Fixed space: 0xe05b-0x10000 total: 8101 slack: 15 Percent slack: 0.2% 16bit size: 38112 32bit segmented size: 2297 32bit flat size: 51287 32bit flat init size: 85056 Lowmem size: 2240 f-segment var size: 1232 Linking build/bios-256k/rom16.o ld: warning: build/bios-256k/code16.o: requires executable stack (because the .note.GNU-stack section is executable) ld: warning: build/bios-256k/rom16.o has a LOAD segment with RWX permissions Stripping build/bios-256k/rom16.noexec.o Linking build/bios-256k/rom32seg.o Stripping build/bios-256k/rom32seg.noexec.o Linking build/bios-256k/rom.o ld: warning: build/bios-256k/rom32seg.noexec.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker ld: warning: build/bios-256k/rom.o has a LOAD segment with RWX permissions Prepping build/bios-256k/bios.bin.prep Total size: 186592 Fixed: 92928 Free: 75552 (used 71.2% of 256KiB rom) Creating build/bios-256k/bios.bin make[1]: Leaving directory '/build/seabios-1.16.2' rm -f build/bios-256k.bin ln build/bios-256k/bios.bin build/bios-256k.bin === Building bios-microvm.bin === set -e; if [ ! -e build/bios-microvm/.config.old ]; then rm -rf build/bios-microvm; mkdir -p build/bios-microvm; for x in QEMU=y ROM_SIZE=128 XEN=n BOOTSPLASH=n ATA=n AHCI=n SDCARD=n PVSCSI=n ESP_SCSI=n LSI_SCSI=n MEGASAS=n MPT_SCSI=n FLOPPY=n FLASH_FLOPPY=n NVME=n PS2PORT=n USB=n LPT=n RTC_TIMER=n USE_SMM=n PMTIMER=n TCGBIOS=n HARDWARE_IRQ=n ACPI_PARSE=y; do echo CONFIG_$x; done > build/bios-microvm/.config; /usr/bin/make PYTHON="python3 -B" KCONFIG_CONFIG=/build/seabios-1.16.2/build/bios-microvm/.config OUT=build/bios-microvm/ oldnoconfig; fi make[1]: Entering directory '/build/seabios-1.16.2' scripts/kconfig/conf --olddefconfig /build/seabios-1.16.2/src/Kconfig # # configuration written to /build/seabios-1.16.2/build/bios-microvm/.config # make[1]: Leaving directory '/build/seabios-1.16.2' /usr/bin/make PYTHON="python3 -B" $(cat build/env) KCONFIG_CONFIG=/build/seabios-1.16.2/build/bios-microvm/.config OUT=build/bios-microvm/ build/bios-microvm/bios.bin make[1]: Entering directory '/build/seabios-1.16.2' Build Kconfig config file Compile checking build/bios-microvm/src/misc.o In file included from src/biosvar.h:10, from src/misc.c:8: src/misc.c: In function 'handle_12': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:36:16: note: in expansion of macro 'GET_BDA' 36 | regs->ax = GET_BDA(mem_size_kb); | ^~~~~~~ src/misc.c: In function 'handle_11': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:44:16: note: in expansion of macro 'GET_BDA' 44 | regs->ax = GET_BDA(equipment_list_flags); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at src/misc.c:66:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking build/bios-microvm/src/stacks.o Compile checking build/bios-microvm/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking build/bios-microvm/src/string.o Compile checking build/bios-microvm/src/block.o src/block.c: In function 'map_hd_drive': src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ^~ In file included from src/biosvar.h:10, from src/block.c:8: In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'fill_fdpt' at src/block.c:213:28, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:239:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:236:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:296:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:292:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compile checking build/bios-microvm/src/cdrom.o In file included from src/biosvar.h:10, from src/cdrom.c:8: src/cdrom.c: In function 'cdrom_boot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at src/cdrom.c:242:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking build/bios-microvm/src/disk.o In file included from src/biosvar.h:10, from src/disk.c:8: src/disk.c: In function '__disk_ret_unimplemented': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:45:9: note: in expansion of macro 'SET_BDA' 45 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:43:9: note: in expansion of macro 'SET_BDA' 43 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function '__disk_ret': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:31:9: note: in expansion of macro 'SET_BDA' 31 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:29:9: note: in expansion of macro 'SET_BDA' 29 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function 'disk_1308': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/disk.c:297:17: note: in expansion of macro 'GET_BDA' 297 | count = GET_BDA(hdcount); | ^~~~~~~ src/disk.c: In function 'disk_13': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:626:5: note: in expansion of macro 'SET_BDA' 626 | SET_BDA(disk_interrupt_flag, 0); | ^~~~~~~ In function 'disk_1301', inlined from 'disk_13' at src/disk.c:630:16: src/disk.c:218:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 218 | v = GET_BDA(disk_last_status); src/disk.c:216:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 216 | v = GET_BDA(floppy_last_status); src/disk.c: In function 'handle_76': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:777:5: note: in expansion of macro 'SET_BDA' 777 | SET_BDA(disk_interrupt_flag, 0xff); | ^~~~~~~ Compile checking build/bios-microvm/src/mouse.o In file included from src/mouse.c:8: In function 'set_equipment_flags', inlined from 'mouse_init' at src/mouse.c:23:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c207' at src/mouse.c:231:20, inlined from 'handle_15c2' at src/mouse.c:272:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c205' at src/mouse.c:162:20, inlined from 'handle_15c2' at src/mouse.c:270:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c20001' at src/mouse.c:56:20, inlined from 'mouse_15c200' at src/mouse.c:82:16, inlined from 'handle_15c2' at src/mouse.c:265:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'process_mouse' at src/mouse.c:322:20: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking build/bios-microvm/src/kbd.o In file included from src/biosvar.h:10, from src/kbd.c:8: src/kbd.c: In function 'kbd_set_flag': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:397:18: note: in expansion of macro 'GET_BDA' 397 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:398:17: note: in expansion of macro 'GET_BDA' 398 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:407:5: note: in expansion of macro 'SET_BDA' 407 | SET_BDA(kbd_flag0, flags0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:408:5: note: in expansion of macro 'SET_BDA' 408 | SET_BDA(kbd_flag1, flags1); | ^~~~~~~ src/kbd.c: In function 'set_leds': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:230:23: note: in expansion of macro 'GET_BDA' 230 | u8 shift_flags = (GET_BDA(kbd_flag0) >> 4) & 0x07; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:231:18: note: in expansion of macro 'GET_BDA' 231 | u8 kbd_led = GET_BDA(kbd_led); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:241:5: note: in expansion of macro 'SET_BDA' 241 | SET_BDA(kbd_led, kbd_led); | ^~~~~~~ src/kbd.c: In function 'dequeue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:61:23: note: in expansion of macro 'GET_BDA' 61 | buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:62:23: note: in expansion of macro 'GET_BDA' 62 | buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:98:24: note: in expansion of macro 'GET_BDA' 98 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:99:24: note: in expansion of macro 'GET_BDA' 99 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:104:5: note: in expansion of macro 'SET_BDA' 104 | SET_BDA(kbd_buf_head, buffer_head); | ^~~~~~~ src/kbd.c: In function 'kbd_init': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ src/kbd.c: In function 'enqueue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:35:24: note: in expansion of macro 'GET_BDA' 35 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:36:24: note: in expansion of macro 'GET_BDA' 36 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:38:23: note: in expansion of macro 'GET_BDA' 38 | u16 buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:39:23: note: in expansion of macro 'GET_BDA' 39 | u16 buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:50:5: note: in expansion of macro 'SET_BDA' 50 | SET_BDA(kbd_buf_tail, buffer_tail); | ^~~~~~~ In function 'handle_1612', inlined from 'handle_16' at src/kbd.c:264:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:193:18: note: in expansion of macro 'GET_BDA' 193 | regs->ax = ((GET_BDA(kbd_flag0) & ~((KF1_RCTRL|KF1_RALT) << 8)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:194:21: note: in expansion of macro 'GET_BDA' 194 | | ((GET_BDA(kbd_flag1) & (KF1_RCTRL|KF1_RALT)) << 8)); | ^~~~~~~ In function 'handle_1602', inlined from 'handle_16' at src/kbd.c:258:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:134:16: note: in expansion of macro 'GET_BDA' 134 | regs->al = GET_BDA(kbd_flag0); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:459:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 459 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:473:9: note: in expansion of macro 'SET_BDA' 473 | SET_BDA(kbd_flag1, flags1 & ~(KF1_LAST_E0|KF1_LAST_E1)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:529:14: note: in expansion of macro 'GET_BDA' 529 | if ((GET_BDA(kbd_flag0) & (KF0_CTRLACTIVE|KF0_ALTACTIVE)) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:532:13: note: in expansion of macro 'SET_BDA' 532 | SET_BDA(soft_reset_flag, 0x1234); | ^~~~~~~ In function 'kbd_ctrl_break', inlined from '__process_key' at src/kbd.c:513:13, inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:417:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 417 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:418:5: note: in expansion of macro 'SET_BDA' 418 | SET_BDA(kbd_buf_head, buffer_start); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:419:5: note: in expansion of macro 'SET_BDA' 419 | SET_BDA(kbd_buf_tail, buffer_start+2); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:422:5: note: in expansion of macro 'SET_BDA' 422 | SET_BDA(break_flag, 0x80); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:552:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 552 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:463:9: note: in expansion of macro 'SET_BDA' 463 | SET_BDA(kbd_flag1, flags1 | eflag); | ^~~~~~~ Compile checking build/bios-microvm/src/system.o In file included from src/biosvar.h:10, from src/system.c:8: In function 'get_ebda_seg', inlined from 'handle_15c1' at src/system.c:255:16, inlined from 'handle_15' at src/system.c:352:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking build/bios-microvm/src/serial.o In file included from src/serial.c:8: In function 'set_equipment_flags', inlined from 'serial_setup' at src/serial.c:56:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking build/bios-microvm/src/sercon.o In file included from src/biosvar.h:10, from src/sercon.c:7: In function 'cursor_pos_set', inlined from 'sercon_cursor_pos_set' at src/sercon.c:190:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_lf' at src/sercon.c:270:11: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_lazy_lf' at src/sercon.c:271:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cursor_sync' at src/sercon.c:198:14, inlined from 'sercon_lazy_flush' at src/sercon.c:236:5: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_putchar' at src/sercon.c:296:9: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:285:11, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_cols', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:286:16, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_100f', inlined from 'handle_sercon' at src/sercon.c:505:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:456:16: note: in expansion of macro 'GET_BDA' 456 | regs->al = GET_BDA(video_mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:457:16: note: in expansion of macro 'GET_BDA' 457 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cr' at src/sercon.c:263:27, inlined from 'sercon_100e' at src/sercon.c:442:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_backspace' at src/sercon.c:254:11, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_backspace' at src/sercon.c:257:35, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1009' at src/sercon.c:411:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1009' at src/sercon.c:411:31, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1009' at src/sercon.c:412:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1009' at src/sercon.c:427:33, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1006' at src/sercon.c:384:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1006' at src/sercon.c:385:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_1003', inlined from 'handle_sercon' at src/sercon.c:500:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:371:16: note: in expansion of macro 'GET_BDA' 371 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1003' at src/sercon.c:372:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1003' at src/sercon.c:373:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'sercon_1001', inlined from 'handle_sercon' at src/sercon.c:498:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:359:5: note: in expansion of macro 'SET_BDA' 359 | SET_BDA(cursor_type, regs->cx); | ^~~~~~~ In function 'cursor_pos_set', inlined from 'sercon_1000' at src/sercon.c:335:9, inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'sercon_1000', inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:336:9: note: in expansion of macro 'SET_BDA' 336 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:337:9: note: in expansion of macro 'SET_BDA' 337 | SET_BDA(video_cols, cols); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:338:9: note: in expansion of macro 'SET_BDA' 338 | SET_BDA(video_rows, rows-1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:339:9: note: in expansion of macro 'SET_BDA' 339 | SET_BDA(cursor_type, 0x0007); | ^~~~~~~ src/sercon.c: In function 'sercon_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/sercon.c:528:15: note: in expansion of macro 'GET_IVT' 528 | vgabios = GET_IVT(0x10); | ^~~~~~~ src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ Compile checking build/bios-microvm/src/clock.o In file included from src/biosvar.h:10, from src/clock.c:8: src/clock.c: In function 'clock_update': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:284:19: note: in expansion of macro 'GET_BDA' 284 | u32 counter = GET_BDA(timer_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:290:33: note: in expansion of macro 'GET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:292:5: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(timer_counter, counter); | ^~~~~~~ src/clock.c: In function 'clock_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In function 'handle_1a01', inlined from 'handle_1a' at src/clock.c:268:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(timer_counter, ticks); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:87:5: note: in expansion of macro 'SET_BDA' 87 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'handle_1a00', inlined from 'handle_1a' at src/clock.c:267:16: src/clock.c:73:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 73 | u32 ticks = GET_BDA(timer_counter); | ^~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:76:16: note: in expansion of macro 'GET_BDA' 76 | regs->al = GET_BDA(timer_rollover); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:77:5: note: in expansion of macro 'SET_BDA' 77 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ src/clock.c: In function 'irqtimer_calc_ticks': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:341:13: note: in expansion of macro 'GET_BDA' 341 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ src/clock.c: In function 'irqtimer_calc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:349:16: note: in expansion of macro 'GET_BDA' 349 | return GET_BDA(timer_counter); | ^~~~~~~ src/clock.c: In function 'irqtimer_check': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:357:15: note: in expansion of macro 'GET_BDA' 357 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ Compile checking build/bios-microvm/src/resume.o Compile checking build/bios-microvm/src/pnpbios.o Compile checking build/bios-microvm/src/vgahooks.o Compile checking build/bios-microvm/src/pcibios.o Compile checking build/bios-microvm/src/apm.o Compile checking build/bios-microvm/src/cp437.o Compile checking build/bios-microvm/src/hw/pci.o Compile checking build/bios-microvm/src/hw/timer.o Compile checking build/bios-microvm/src/hw/rtc.o Compile checking build/bios-microvm/src/hw/dma.o Compile checking build/bios-microvm/src/hw/pic.o Compile checking build/bios-microvm/src/hw/ps2port.o Compile checking build/bios-microvm/src/hw/serialio.o Compile checking build/bios-microvm/src/hw/usb.o Compile checking build/bios-microvm/src/hw/usb-uhci.o Compile checking build/bios-microvm/src/hw/usb-ohci.o Compile checking build/bios-microvm/src/hw/usb-ehci.o Compile checking build/bios-microvm/src/hw/usb-hid.o Compile checking build/bios-microvm/src/hw/usb-msc.o Compile checking build/bios-microvm/src/hw/usb-uas.o Compile checking build/bios-microvm/src/hw/blockcmd.o Compile checking build/bios-microvm/src/hw/floppy.o In file included from src/biosvar.h:10, from src/hw/floppy.c:8: src/hw/floppy.c: In function 'floppy_setup': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ Compile checking build/bios-microvm/src/hw/ata.o Compile checking build/bios-microvm/src/hw/ramdisk.o Compile checking build/bios-microvm/src/hw/lsi-scsi.o Compile checking build/bios-microvm/src/hw/esp-scsi.o Compile checking build/bios-microvm/src/hw/megasas.o Compile checking build/bios-microvm/src/hw/mpt-scsi.o Compile checking build/bios-microvm/src/post.o In file included from src/biosvar.h:10, from src/post.c:8: In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'bda_init' at src/post.c:91:46, inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking build/bios-microvm/src/e820map.o Compile checking build/bios-microvm/src/malloc.o In file included from src/biosvar.h:10, from src/malloc.c:7: src/malloc.c: In function 'malloc_prepboot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ Compile checking build/bios-microvm/src/romfile.o Compile checking build/bios-microvm/src/x86.o Compile checking build/bios-microvm/src/optionroms.o In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:344:28: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:348:9: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In file included from src/optionroms.c:10: In function 'boot_irq_restore', inlined from 'init_pcirom' at src/optionroms.c:354:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ Compile checking build/bios-microvm/src/pmm.o Compile checking build/bios-microvm/src/font.o Compile checking build/bios-microvm/src/boot.o Compile checking build/bios-microvm/src/bootsplash.o Compile checking build/bios-microvm/src/jpeg.o Compile checking build/bios-microvm/src/bmp.o Compile checking build/bios-microvm/src/tcgbios.o Compile checking build/bios-microvm/src/sha1.o Compile checking build/bios-microvm/src/hw/pcidevice.o Compile checking build/bios-microvm/src/hw/ahci.o Compile checking build/bios-microvm/src/hw/pvscsi.o Compile checking build/bios-microvm/src/hw/usb-xhci.o Compile checking build/bios-microvm/src/hw/usb-hub.o Compile checking build/bios-microvm/src/hw/sdcard.o Compile checking build/bios-microvm/src/fw/coreboot.o Compile checking build/bios-microvm/src/fw/lzmadecode.o Compile checking build/bios-microvm/src/fw/multiboot.o Compile checking build/bios-microvm/src/fw/csm.o Compile checking build/bios-microvm/src/fw/biostables.o Compile checking build/bios-microvm/src/fw/paravirt.o Compile checking build/bios-microvm/src/fw/shadow.o Compile checking build/bios-microvm/src/fw/pciinit.o Compile checking build/bios-microvm/src/fw/smm.o Compile checking build/bios-microvm/src/fw/smp.o Compile checking build/bios-microvm/src/fw/mtrr.o Compile checking build/bios-microvm/src/fw/xen.o Compile checking build/bios-microvm/src/fw/acpi.o Compile checking build/bios-microvm/src/fw/mptable.o Compile checking build/bios-microvm/src/fw/pirtable.o Compile checking build/bios-microvm/src/fw/smbios.o Compile checking build/bios-microvm/src/fw/romfile_loader.o Compile checking build/bios-microvm/src/fw/dsdt_parser.o Compile checking build/bios-microvm/src/hw/virtio-ring.o Compile checking build/bios-microvm/src/hw/virtio-pci.o Compile checking build/bios-microvm/src/hw/virtio-mmio.o Compile checking build/bios-microvm/src/hw/virtio-blk.o Compile checking build/bios-microvm/src/hw/virtio-scsi.o Compile checking build/bios-microvm/src/hw/tpm_drivers.o Compile checking build/bios-microvm/src/hw/nvme.o Compile checking build/bios-microvm/src/sha256.o Compile checking build/bios-microvm/src/sha512.o Compiling whole program build/bios-microvm/ccode32flat.o In file included from ./src/biosvar.h:10, from ./src/misc.c:8, from build/bios-microvm/ccode32flat.o.tmp.c:1: In function 'irqtimer_calc_ticks', inlined from 'irqtimer_calc' at ./src/clock.c:350:12, inlined from 'irqtimer_calc' at ./src/clock.c:346:1: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:341:13: note: in expansion of macro 'GET_BDA' 341 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ ./src/clock.c: In function 'irqtimer_calc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:349:16: note: in expansion of macro 'GET_BDA' 349 | return GET_BDA(timer_counter); | ^~~~~~~ ./src/output.c: In function 'screenc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ ./src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ In function 'irqtimer_check', inlined from 'get_keystroke_full' at ./src/boot.c:661:13: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:357:15: note: in expansion of macro 'GET_BDA' 357 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'irqtimer_check', inlined from 'boot_fail' at ./src/boot.c:974:41: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:357:15: note: in expansion of macro 'GET_BDA' 357 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In file included from build/bios-microvm/ccode32flat.o.tmp.c:47: In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:344:28: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:348:9: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_restore', inlined from 'init_pcirom' at ./src/optionroms.c:354:9: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ./src/cdrom.c: In function 'cdrom_boot': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at ./src/cdrom.c:242:9: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at ./src/post.c:114:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'bda_init' at ./src/post.c:91:46, inlined from 'interface_init' at ./src/post.c:114:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'kbd_init', inlined from 'interface_init' at ./src/post.c:121:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mouse_init' at ./src/mouse.c:23:5, inlined from 'interface_init' at ./src/post.c:122:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at ./src/misc.c:66:5, inlined from 'platform_hardware_setup' at ./src/post.c:146:5, inlined from 'maininit' at ./src/post.c:203:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'clock_setup', inlined from 'platform_hardware_setup' at ./src/post.c:154:5, inlined from 'maininit' at ./src/post.c:203:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In file included from build/bios-microvm/ccode32flat.o.tmp.c:12: In function 'sercon_setup', inlined from 'maininit' at ./src/post.c:211:5: ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ In function 'floppy_setup', inlined from 'block_setup' at ./src/block.c:510:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5, inlined from 'maininit' at ./src/post.c:216:9: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'set_equipment_flags', inlined from 'serial_setup' at ./src/serial.c:56:5, inlined from 'device_hardware_setup' at ./src/post.c:133:5, inlined from 'maininit' at ./src/post.c:216:9: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'irqtimer_check', inlined from 'interactive_bootmenu' at ./src/boot.c:755:37, inlined from 'maininit' at ./src/post.c:224:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:357:15: note: in expansion of macro 'GET_BDA' 357 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'malloc_prepboot', inlined from 'prepareboot' at ./src/post.c:172:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ In file included from build/bios-microvm/ccode32flat.o.tmp.c:5: In function 'map_hd_drive', inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ~~~^~~~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'fill_fdpt' at ./src/block.c:213:28, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:239:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:236:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:296:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:292:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compiling whole program build/bios-microvm/code32seg.o Compiling whole program build/bios-microvm/ccode16.o Compiling to assembler build/bios-microvm/src/asm-offsets.s Generating offset file build/bios-microvm/asm-offsets.h Compiling (16bit) build/bios-microvm/romlayout.o Building ld scripts Version: 1.16.2-debian-1.16.2-1 ld: warning: build/bios-microvm/romlayout.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker Fixed space: 0xe05b-0x10000 total: 8101 slack: 12 Percent slack: 0.1% 16bit size: 19840 32bit segmented size: 2299 32bit flat size: 22597 32bit flat init size: 45312 Lowmem size: 2176 f-segment var size: 1152 Linking build/bios-microvm/rom16.o ld: warning: build/bios-microvm/code16.o: requires executable stack (because the .note.GNU-stack section is executable) ld: warning: build/bios-microvm/rom16.o has a LOAD segment with RWX permissions Stripping build/bios-microvm/rom16.noexec.o Linking build/bios-microvm/rom32seg.o Stripping build/bios-microvm/rom32seg.noexec.o Linking build/bios-microvm/rom.o ld: warning: build/bios-microvm/rom32seg.noexec.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker ld: warning: build/bios-microvm/rom.o has a LOAD segment with RWX permissions Prepping build/bios-microvm/bios.bin.prep Total size: 96864 Fixed: 45888 Free: 34208 (used 73.9% of 128KiB rom) Creating build/bios-microvm/bios.bin make[1]: Leaving directory '/build/seabios-1.16.2' rm -f build/bios-microvm.bin ln build/bios-microvm/bios.bin build/bios-microvm.bin === Building vgabios-ati.bin === set -e; if [ ! -e build/vgabios-ati/.config.old ]; then rm -rf build/vgabios-ati; mkdir -p build/vgabios-ati; for x in BUILD_VGABIOS=y VGA_ATI=y VGA_PCI=y; do echo CONFIG_$x; done > build/vgabios-ati/.config; /usr/bin/make PYTHON="python3 -B" KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-ati/.config OUT=build/vgabios-ati/ oldnoconfig; fi make[1]: Entering directory '/build/seabios-1.16.2' scripts/kconfig/conf --olddefconfig /build/seabios-1.16.2/src/Kconfig # # configuration written to /build/seabios-1.16.2/build/vgabios-ati/.config # make[1]: Leaving directory '/build/seabios-1.16.2' /usr/bin/make PYTHON="python3 -B" $(cat build/env) KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-ati/.config OUT=build/vgabios-ati/ build/vgabios-ati/vgabios.bin make[1]: Entering directory '/build/seabios-1.16.2' Build Kconfig config file Compile checking build/vgabios-ati/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking build/vgabios-ati/src/string.o Compile checking build/vgabios-ati/src/hw/pci.o Compile checking build/vgabios-ati/src/hw/serialio.o Compile checking build/vgabios-ati/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking build/vgabios-ati/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking build/vgabios-ati/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking build/vgabios-ati/vgasrc/swcursor.o Compile checking build/vgabios-ati/vgasrc/vgafonts.o Compile checking build/vgabios-ati/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking build/vgabios-ati/vgasrc/stdvga.o Compile checking build/vgabios-ati/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking build/vgabios-ati/vgasrc/stdvgaio.o Compile checking build/vgabios-ati/vgasrc/clext.o Compile checking build/vgabios-ati/vgasrc/svgamodes.o Compile checking build/vgabios-ati/vgasrc/atiext.o Compile checking build/vgabios-ati/vgasrc/bochsvga.o Compile checking build/vgabios-ati/vgasrc/geodevga.o Compile checking build/vgabios-ati/src/fw/coreboot.o Compile checking build/vgabios-ati/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking build/vgabios-ati/vgasrc/bochsdisplay.o Compile checking build/vgabios-ati/vgasrc/ramfb.o Compiling whole program build/vgabios-ati/vgaccode16.raw.s In file included from ./src/output.c:9, from build/vgabios-ati/vgaccode16.raw.s.tmp.c:1: In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler Compiling to assembler build/vgabios-ati/src/asm-offsets.s Generating offset file build/vgabios-ati/asm-offsets.h Compiling (16bit) build/vgabios-ati/vgaentry.o Precompiling build/vgabios-ati/vgasrc/vgalayout.lds Linking build/vgabios-ati/vgarom.o Version: 1.16.2-debian-1.16.2-1 ld: warning: build/vgabios-ati/vgaentry.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker ld: warning: build/vgabios-ati/vgarom.o has a LOAD segment with RWX permissions Extracting binary build/vgabios-ati/vgabios.bin.raw Finalizing rom build/vgabios-ati/vgabios.bin make[1]: Leaving directory '/build/seabios-1.16.2' rm -f build/vgabios-ati.bin ln build/vgabios-ati/vgabios.bin build/vgabios-ati.bin === Building vgabios-bochs-display.bin === set -e; if [ ! -e build/vgabios-bochs-display/.config.old ]; then rm -rf build/vgabios-bochs-display; mkdir -p build/vgabios-bochs-display; for x in BUILD_VGABIOS=y DISPLAY_BOCHS=y VGA_PCI=y; do echo CONFIG_$x; done > build/vgabios-bochs-display/.config; /usr/bin/make PYTHON="python3 -B" KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-bochs-display/.config OUT=build/vgabios-bochs-display/ oldnoconfig; fi make[1]: Entering directory '/build/seabios-1.16.2' scripts/kconfig/conf --olddefconfig /build/seabios-1.16.2/src/Kconfig # # configuration written to /build/seabios-1.16.2/build/vgabios-bochs-display/.config # make[1]: Leaving directory '/build/seabios-1.16.2' /usr/bin/make PYTHON="python3 -B" $(cat build/env) KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-bochs-display/.config OUT=build/vgabios-bochs-display/ build/vgabios-bochs-display/vgabios.bin make[1]: Entering directory '/build/seabios-1.16.2' Build Kconfig config file Compile checking build/vgabios-bochs-display/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking build/vgabios-bochs-display/src/string.o Compile checking build/vgabios-bochs-display/src/hw/pci.o Compile checking build/vgabios-bochs-display/src/hw/serialio.o Compile checking build/vgabios-bochs-display/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ In function 'hook_timer_irq', inlined from 'vga_post' at vgasrc/vgainit.c:192:5: vgasrc/vgainit.c:121:21: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 121 | struct segoff_s oldirq = GET_IVT(0x08); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:128:5: note: in expansion of macro 'SET_IVT' 128 | SET_IVT(0x08, newirq); | ^~~~~~~ Compile checking build/vgabios-bochs-display/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'vga_set_mode' at vgasrc/vgabios.c:298:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'set_cursor_shape', inlined from 'handle_1001' at vgasrc/vgabios.c:357:5, inlined from 'handle_10' at vgasrc/vgabios.c:1105:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking build/vgabios-bochs-display/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_clear_chars' at vgasrc/vgafb.c:377:9, inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_write_char' at vgasrc/vgafb.c:415:9, inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_read_char' at vgasrc/vgafb.c:468:9, inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ Compile checking build/vgabios-bochs-display/vgasrc/swcursor.o In file included from src/biosvar.h:10, from vgasrc/swcursor.c:7: vgasrc/swcursor.c: In function 'set_swcursor': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:41:16: note: in expansion of macro 'GET_BDA_EXT' 41 | u8 flags = GET_BDA_EXT(flags); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:48:42: note: in expansion of macro 'GET_BDA' 48 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:49:17: note: in expansion of macro 'GET_BDA' 49 | if (cp.x >= GET_BDA(video_cols) || cp.y > GET_BDA(video_rows) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:49:47: note: in expansion of macro 'GET_BDA' 49 | if (cp.x >= GET_BDA(video_cols) || cp.y > GET_BDA(video_rows) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:50:12: note: in expansion of macro 'GET_BDA' 50 | || GET_BDA(cursor_type) >= 0x2000) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/swcursor.c:54:5: note: in expansion of macro 'SET_BDA_EXT' 54 | SET_BDA_EXT(flags, (flags & ~BF_SWCURSOR) | (enable ? BF_SWCURSOR : 0)); | ^~~~~~~~~~~ In function 'gfx_set_swcursor', inlined from 'set_swcursor' at vgasrc/swcursor.c:57:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:22:19: note: in expansion of macro 'GET_BDA' 22 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'swcursor_pre_handle10' at vgasrc/swcursor.c:72:10: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ In function 'vga_emulate_text', inlined from 'swcursor_check_event' at vgasrc/swcursor.c:93:10: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/swcursor.c: In function 'swcursor_check_event': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:95:18: note: in expansion of macro 'GET_BDA' 95 | set_swcursor(GET_BDA(timer_counter) % 18 < 9); | ^~~~~~~ Compile checking build/vgabios-bochs-display/vgasrc/vgafonts.o Compile checking build/vgabios-bochs-display/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking build/vgabios-bochs-display/vgasrc/stdvga.o Compile checking build/vgabios-bochs-display/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking build/vgabios-bochs-display/vgasrc/stdvgaio.o Compile checking build/vgabios-bochs-display/vgasrc/clext.o Compile checking build/vgabios-bochs-display/vgasrc/svgamodes.o Compile checking build/vgabios-bochs-display/vgasrc/atiext.o Compile checking build/vgabios-bochs-display/vgasrc/bochsvga.o Compile checking build/vgabios-bochs-display/vgasrc/geodevga.o Compile checking build/vgabios-bochs-display/src/fw/coreboot.o Compile checking build/vgabios-bochs-display/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking build/vgabios-bochs-display/vgasrc/bochsdisplay.o Compile checking build/vgabios-bochs-display/vgasrc/ramfb.o Compiling whole program build/vgabios-bochs-display/vgaccode16.raw.s In file included from ./src/output.c:9, from build/vgabios-bochs-display/vgaccode16.raw.s.tmp.c:1: ./vgasrc/vgabios.h: In function 'vga_emulate_text': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'bda_save_restore': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/cbvga.c: In function 'cbvga_set_mode': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/swcursor.c: In function 'set_swcursor': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/swcursor.c:41:16: note: in expansion of macro 'GET_BDA_EXT' 41 | u8 flags = GET_BDA_EXT(flags); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_swcursor' at ./vgasrc/swcursor.c:45:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/swcursor.c: In function 'set_swcursor': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/swcursor.c:54:5: note: in expansion of macro 'SET_BDA_EXT' 54 | SET_BDA_EXT(flags, (flags & ~BF_SWCURSOR) | (enable ? BF_SWCURSOR : 0)); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler Compiling to assembler build/vgabios-bochs-display/src/asm-offsets.s Generating offset file build/vgabios-bochs-display/asm-offsets.h Compiling (16bit) build/vgabios-bochs-display/vgaentry.o Precompiling build/vgabios-bochs-display/vgasrc/vgalayout.lds Linking build/vgabios-bochs-display/vgarom.o Version: 1.16.2-debian-1.16.2-1 ld: warning: build/vgabios-bochs-display/vgaentry.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker ld: warning: build/vgabios-bochs-display/vgarom.o has a LOAD segment with RWX permissions Extracting binary build/vgabios-bochs-display/vgabios.bin.raw Finalizing rom build/vgabios-bochs-display/vgabios.bin make[1]: Leaving directory '/build/seabios-1.16.2' rm -f build/vgabios-bochs-display.bin ln build/vgabios-bochs-display/vgabios.bin build/vgabios-bochs-display.bin === Building vgabios-cirrus.bin === set -e; if [ ! -e build/vgabios-cirrus/.config.old ]; then rm -rf build/vgabios-cirrus; mkdir -p build/vgabios-cirrus; for x in BUILD_VGABIOS=y VGA_CIRRUS=y VGA_PCI=y; do echo CONFIG_$x; done > build/vgabios-cirrus/.config; /usr/bin/make PYTHON="python3 -B" KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-cirrus/.config OUT=build/vgabios-cirrus/ oldnoconfig; fi make[1]: Entering directory '/build/seabios-1.16.2' scripts/kconfig/conf --olddefconfig /build/seabios-1.16.2/src/Kconfig # # configuration written to /build/seabios-1.16.2/build/vgabios-cirrus/.config # make[1]: Leaving directory '/build/seabios-1.16.2' /usr/bin/make PYTHON="python3 -B" $(cat build/env) KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-cirrus/.config OUT=build/vgabios-cirrus/ build/vgabios-cirrus/vgabios.bin make[1]: Entering directory '/build/seabios-1.16.2' Build Kconfig config file Compile checking build/vgabios-cirrus/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking build/vgabios-cirrus/src/string.o Compile checking build/vgabios-cirrus/src/hw/pci.o Compile checking build/vgabios-cirrus/src/hw/serialio.o Compile checking build/vgabios-cirrus/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking build/vgabios-cirrus/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking build/vgabios-cirrus/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking build/vgabios-cirrus/vgasrc/swcursor.o Compile checking build/vgabios-cirrus/vgasrc/vgafonts.o Compile checking build/vgabios-cirrus/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking build/vgabios-cirrus/vgasrc/stdvga.o Compile checking build/vgabios-cirrus/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking build/vgabios-cirrus/vgasrc/stdvgaio.o Compile checking build/vgabios-cirrus/vgasrc/clext.o Compile checking build/vgabios-cirrus/vgasrc/svgamodes.o Compile checking build/vgabios-cirrus/vgasrc/atiext.o Compile checking build/vgabios-cirrus/vgasrc/bochsvga.o Compile checking build/vgabios-cirrus/vgasrc/geodevga.o Compile checking build/vgabios-cirrus/src/fw/coreboot.o Compile checking build/vgabios-cirrus/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking build/vgabios-cirrus/vgasrc/bochsdisplay.o Compile checking build/vgabios-cirrus/vgasrc/ramfb.o Compiling whole program build/vgabios-cirrus/vgaccode16.raw.s In file included from ./src/output.c:9, from build/vgabios-cirrus/vgaccode16.raw.s.tmp.c:1: In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler Compiling to assembler build/vgabios-cirrus/src/asm-offsets.s Generating offset file build/vgabios-cirrus/asm-offsets.h Compiling (16bit) build/vgabios-cirrus/vgaentry.o Precompiling build/vgabios-cirrus/vgasrc/vgalayout.lds Linking build/vgabios-cirrus/vgarom.o Version: 1.16.2-debian-1.16.2-1 ld: warning: build/vgabios-cirrus/vgaentry.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker ld: warning: build/vgabios-cirrus/vgarom.o has a LOAD segment with RWX permissions Extracting binary build/vgabios-cirrus/vgabios.bin.raw Finalizing rom build/vgabios-cirrus/vgabios.bin make[1]: Leaving directory '/build/seabios-1.16.2' rm -f build/vgabios-cirrus.bin ln build/vgabios-cirrus/vgabios.bin build/vgabios-cirrus.bin === Building vgabios-stdvga.bin === set -e; if [ ! -e build/vgabios-stdvga/.config.old ]; then rm -rf build/vgabios-stdvga; mkdir -p build/vgabios-stdvga; for x in BUILD_VGABIOS=y VGA_BOCHS=y VGA_PCI=y; do echo CONFIG_$x; done > build/vgabios-stdvga/.config; /usr/bin/make PYTHON="python3 -B" KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-stdvga/.config OUT=build/vgabios-stdvga/ oldnoconfig; fi make[1]: Entering directory '/build/seabios-1.16.2' scripts/kconfig/conf --olddefconfig /build/seabios-1.16.2/src/Kconfig # # configuration written to /build/seabios-1.16.2/build/vgabios-stdvga/.config # make[1]: Leaving directory '/build/seabios-1.16.2' /usr/bin/make PYTHON="python3 -B" $(cat build/env) KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-stdvga/.config OUT=build/vgabios-stdvga/ build/vgabios-stdvga/vgabios.bin make[1]: Entering directory '/build/seabios-1.16.2' Build Kconfig config file Compile checking build/vgabios-stdvga/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking build/vgabios-stdvga/src/string.o Compile checking build/vgabios-stdvga/src/hw/pci.o Compile checking build/vgabios-stdvga/src/hw/serialio.o Compile checking build/vgabios-stdvga/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking build/vgabios-stdvga/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking build/vgabios-stdvga/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking build/vgabios-stdvga/vgasrc/swcursor.o Compile checking build/vgabios-stdvga/vgasrc/vgafonts.o Compile checking build/vgabios-stdvga/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking build/vgabios-stdvga/vgasrc/stdvga.o Compile checking build/vgabios-stdvga/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking build/vgabios-stdvga/vgasrc/stdvgaio.o Compile checking build/vgabios-stdvga/vgasrc/clext.o Compile checking build/vgabios-stdvga/vgasrc/svgamodes.o Compile checking build/vgabios-stdvga/vgasrc/atiext.o Compile checking build/vgabios-stdvga/vgasrc/bochsvga.o Compile checking build/vgabios-stdvga/vgasrc/geodevga.o Compile checking build/vgabios-stdvga/src/fw/coreboot.o Compile checking build/vgabios-stdvga/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking build/vgabios-stdvga/vgasrc/bochsdisplay.o Compile checking build/vgabios-stdvga/vgasrc/ramfb.o Compiling whole program build/vgabios-stdvga/vgaccode16.raw.s In file included from ./src/output.c:9, from build/vgabios-stdvga/vgaccode16.raw.s.tmp.c:1: In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12, inlined from 'bochsvga_save_restore' at ./vgasrc/bochsvga.c:230:15: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler Compiling to assembler build/vgabios-stdvga/src/asm-offsets.s Generating offset file build/vgabios-stdvga/asm-offsets.h Compiling (16bit) build/vgabios-stdvga/vgaentry.o Precompiling build/vgabios-stdvga/vgasrc/vgalayout.lds Linking build/vgabios-stdvga/vgarom.o Version: 1.16.2-debian-1.16.2-1 ld: warning: build/vgabios-stdvga/vgaentry.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker ld: warning: build/vgabios-stdvga/vgarom.o has a LOAD segment with RWX permissions Extracting binary build/vgabios-stdvga/vgabios.bin.raw Finalizing rom build/vgabios-stdvga/vgabios.bin make[1]: Leaving directory '/build/seabios-1.16.2' rm -f build/vgabios-stdvga.bin ln build/vgabios-stdvga/vgabios.bin build/vgabios-stdvga.bin === Building vgabios-virtio.bin === set -e; if [ ! -e build/vgabios-virtio/.config.old ]; then rm -rf build/vgabios-virtio; mkdir -p build/vgabios-virtio; for x in BUILD_VGABIOS=y VGA_BOCHS=y VGA_PCI=y OVERRIDE_PCI_ID=y VGA_VID=0x1af4 VGA_DID=0x1050; do echo CONFIG_$x; done > build/vgabios-virtio/.config; /usr/bin/make PYTHON="python3 -B" KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-virtio/.config OUT=build/vgabios-virtio/ oldnoconfig; fi make[1]: Entering directory '/build/seabios-1.16.2' scripts/kconfig/conf --olddefconfig /build/seabios-1.16.2/src/Kconfig # # configuration written to /build/seabios-1.16.2/build/vgabios-virtio/.config # make[1]: Leaving directory '/build/seabios-1.16.2' /usr/bin/make PYTHON="python3 -B" $(cat build/env) KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-virtio/.config OUT=build/vgabios-virtio/ build/vgabios-virtio/vgabios.bin make[1]: Entering directory '/build/seabios-1.16.2' Build Kconfig config file Compile checking build/vgabios-virtio/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking build/vgabios-virtio/src/string.o Compile checking build/vgabios-virtio/src/hw/pci.o Compile checking build/vgabios-virtio/src/hw/serialio.o Compile checking build/vgabios-virtio/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking build/vgabios-virtio/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking build/vgabios-virtio/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking build/vgabios-virtio/vgasrc/swcursor.o Compile checking build/vgabios-virtio/vgasrc/vgafonts.o Compile checking build/vgabios-virtio/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking build/vgabios-virtio/vgasrc/stdvga.o Compile checking build/vgabios-virtio/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking build/vgabios-virtio/vgasrc/stdvgaio.o Compile checking build/vgabios-virtio/vgasrc/clext.o Compile checking build/vgabios-virtio/vgasrc/svgamodes.o Compile checking build/vgabios-virtio/vgasrc/atiext.o Compile checking build/vgabios-virtio/vgasrc/bochsvga.o Compile checking build/vgabios-virtio/vgasrc/geodevga.o Compile checking build/vgabios-virtio/src/fw/coreboot.o Compile checking build/vgabios-virtio/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking build/vgabios-virtio/vgasrc/bochsdisplay.o Compile checking build/vgabios-virtio/vgasrc/ramfb.o Compiling whole program build/vgabios-virtio/vgaccode16.raw.s In file included from ./src/output.c:9, from build/vgabios-virtio/vgaccode16.raw.s.tmp.c:1: In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12, inlined from 'bochsvga_save_restore' at ./vgasrc/bochsvga.c:230:15: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler Compiling to assembler build/vgabios-virtio/src/asm-offsets.s Generating offset file build/vgabios-virtio/asm-offsets.h Compiling (16bit) build/vgabios-virtio/vgaentry.o Precompiling build/vgabios-virtio/vgasrc/vgalayout.lds Linking build/vgabios-virtio/vgarom.o Version: 1.16.2-debian-1.16.2-1 ld: warning: build/vgabios-virtio/vgaentry.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker ld: warning: build/vgabios-virtio/vgarom.o has a LOAD segment with RWX permissions Extracting binary build/vgabios-virtio/vgabios.bin.raw Finalizing rom build/vgabios-virtio/vgabios.bin make[1]: Leaving directory '/build/seabios-1.16.2' rm -f build/vgabios-virtio.bin ln build/vgabios-virtio/vgabios.bin build/vgabios-virtio.bin === Building vgabios-vmware.bin === set -e; if [ ! -e build/vgabios-vmware/.config.old ]; then rm -rf build/vgabios-vmware; mkdir -p build/vgabios-vmware; for x in BUILD_VGABIOS=y VGA_BOCHS=y VGA_PCI=y OVERRIDE_PCI_ID=y VGA_VID=0x15ad VGA_DID=0x0405; do echo CONFIG_$x; done > build/vgabios-vmware/.config; /usr/bin/make PYTHON="python3 -B" KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-vmware/.config OUT=build/vgabios-vmware/ oldnoconfig; fi make[1]: Entering directory '/build/seabios-1.16.2' scripts/kconfig/conf --olddefconfig /build/seabios-1.16.2/src/Kconfig # # configuration written to /build/seabios-1.16.2/build/vgabios-vmware/.config # make[1]: Leaving directory '/build/seabios-1.16.2' /usr/bin/make PYTHON="python3 -B" $(cat build/env) KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-vmware/.config OUT=build/vgabios-vmware/ build/vgabios-vmware/vgabios.bin make[1]: Entering directory '/build/seabios-1.16.2' Build Kconfig config file Compile checking build/vgabios-vmware/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking build/vgabios-vmware/src/string.o Compile checking build/vgabios-vmware/src/hw/pci.o Compile checking build/vgabios-vmware/src/hw/serialio.o Compile checking build/vgabios-vmware/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking build/vgabios-vmware/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking build/vgabios-vmware/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking build/vgabios-vmware/vgasrc/swcursor.o Compile checking build/vgabios-vmware/vgasrc/vgafonts.o Compile checking build/vgabios-vmware/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking build/vgabios-vmware/vgasrc/stdvga.o Compile checking build/vgabios-vmware/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking build/vgabios-vmware/vgasrc/stdvgaio.o Compile checking build/vgabios-vmware/vgasrc/clext.o Compile checking build/vgabios-vmware/vgasrc/svgamodes.o Compile checking build/vgabios-vmware/vgasrc/atiext.o Compile checking build/vgabios-vmware/vgasrc/bochsvga.o Compile checking build/vgabios-vmware/vgasrc/geodevga.o Compile checking build/vgabios-vmware/src/fw/coreboot.o Compile checking build/vgabios-vmware/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking build/vgabios-vmware/vgasrc/bochsdisplay.o Compile checking build/vgabios-vmware/vgasrc/ramfb.o Compiling whole program build/vgabios-vmware/vgaccode16.raw.s In file included from ./src/output.c:9, from build/vgabios-vmware/vgaccode16.raw.s.tmp.c:1: In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12, inlined from 'bochsvga_save_restore' at ./vgasrc/bochsvga.c:230:15: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler Compiling to assembler build/vgabios-vmware/src/asm-offsets.s Generating offset file build/vgabios-vmware/asm-offsets.h Compiling (16bit) build/vgabios-vmware/vgaentry.o Precompiling build/vgabios-vmware/vgasrc/vgalayout.lds Linking build/vgabios-vmware/vgarom.o Version: 1.16.2-debian-1.16.2-1 ld: warning: build/vgabios-vmware/vgaentry.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker ld: warning: build/vgabios-vmware/vgarom.o has a LOAD segment with RWX permissions Extracting binary build/vgabios-vmware/vgabios.bin.raw Finalizing rom build/vgabios-vmware/vgabios.bin make[1]: Leaving directory '/build/seabios-1.16.2' rm -f build/vgabios-vmware.bin ln build/vgabios-vmware/vgabios.bin build/vgabios-vmware.bin === Building vgabios-qxl.bin === set -e; if [ ! -e build/vgabios-qxl/.config.old ]; then rm -rf build/vgabios-qxl; mkdir -p build/vgabios-qxl; for x in BUILD_VGABIOS=y VGA_BOCHS=y VGA_PCI=y OVERRIDE_PCI_ID=y VGA_VID=0x1b36 VGA_DID=0x0100; do echo CONFIG_$x; done > build/vgabios-qxl/.config; /usr/bin/make PYTHON="python3 -B" KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-qxl/.config OUT=build/vgabios-qxl/ oldnoconfig; fi make[1]: Entering directory '/build/seabios-1.16.2' scripts/kconfig/conf --olddefconfig /build/seabios-1.16.2/src/Kconfig # # configuration written to /build/seabios-1.16.2/build/vgabios-qxl/.config # make[1]: Leaving directory '/build/seabios-1.16.2' /usr/bin/make PYTHON="python3 -B" $(cat build/env) KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-qxl/.config OUT=build/vgabios-qxl/ build/vgabios-qxl/vgabios.bin make[1]: Entering directory '/build/seabios-1.16.2' Build Kconfig config file Compile checking build/vgabios-qxl/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking build/vgabios-qxl/src/string.o Compile checking build/vgabios-qxl/src/hw/pci.o Compile checking build/vgabios-qxl/src/hw/serialio.o Compile checking build/vgabios-qxl/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking build/vgabios-qxl/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking build/vgabios-qxl/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking build/vgabios-qxl/vgasrc/swcursor.o Compile checking build/vgabios-qxl/vgasrc/vgafonts.o Compile checking build/vgabios-qxl/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking build/vgabios-qxl/vgasrc/stdvga.o Compile checking build/vgabios-qxl/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking build/vgabios-qxl/vgasrc/stdvgaio.o Compile checking build/vgabios-qxl/vgasrc/clext.o Compile checking build/vgabios-qxl/vgasrc/svgamodes.o Compile checking build/vgabios-qxl/vgasrc/atiext.o Compile checking build/vgabios-qxl/vgasrc/bochsvga.o Compile checking build/vgabios-qxl/vgasrc/geodevga.o Compile checking build/vgabios-qxl/src/fw/coreboot.o Compile checking build/vgabios-qxl/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking build/vgabios-qxl/vgasrc/bochsdisplay.o Compile checking build/vgabios-qxl/vgasrc/ramfb.o Compiling whole program build/vgabios-qxl/vgaccode16.raw.s In file included from ./src/output.c:9, from build/vgabios-qxl/vgaccode16.raw.s.tmp.c:1: In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12, inlined from 'bochsvga_save_restore' at ./vgasrc/bochsvga.c:230:15: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler Compiling to assembler build/vgabios-qxl/src/asm-offsets.s Generating offset file build/vgabios-qxl/asm-offsets.h Compiling (16bit) build/vgabios-qxl/vgaentry.o Precompiling build/vgabios-qxl/vgasrc/vgalayout.lds Linking build/vgabios-qxl/vgarom.o Version: 1.16.2-debian-1.16.2-1 ld: warning: build/vgabios-qxl/vgaentry.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker ld: warning: build/vgabios-qxl/vgarom.o has a LOAD segment with RWX permissions Extracting binary build/vgabios-qxl/vgabios.bin.raw Finalizing rom build/vgabios-qxl/vgabios.bin make[1]: Leaving directory '/build/seabios-1.16.2' rm -f build/vgabios-qxl.bin ln build/vgabios-qxl/vgabios.bin build/vgabios-qxl.bin === Building vgabios-isavga.bin === set -e; if [ ! -e build/vgabios-isavga/.config.old ]; then rm -rf build/vgabios-isavga; mkdir -p build/vgabios-isavga; for x in BUILD_VGABIOS=y VGA_BOCHS=y VGA_PCI=n; do echo CONFIG_$x; done > build/vgabios-isavga/.config; /usr/bin/make PYTHON="python3 -B" KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-isavga/.config OUT=build/vgabios-isavga/ oldnoconfig; fi make[1]: Entering directory '/build/seabios-1.16.2' scripts/kconfig/conf --olddefconfig /build/seabios-1.16.2/src/Kconfig # # configuration written to /build/seabios-1.16.2/build/vgabios-isavga/.config # make[1]: Leaving directory '/build/seabios-1.16.2' /usr/bin/make PYTHON="python3 -B" $(cat build/env) KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-isavga/.config OUT=build/vgabios-isavga/ build/vgabios-isavga/vgabios.bin make[1]: Entering directory '/build/seabios-1.16.2' Build Kconfig config file Compile checking build/vgabios-isavga/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking build/vgabios-isavga/src/string.o Compile checking build/vgabios-isavga/src/hw/pci.o Compile checking build/vgabios-isavga/src/hw/serialio.o Compile checking build/vgabios-isavga/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking build/vgabios-isavga/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking build/vgabios-isavga/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking build/vgabios-isavga/vgasrc/swcursor.o Compile checking build/vgabios-isavga/vgasrc/vgafonts.o Compile checking build/vgabios-isavga/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking build/vgabios-isavga/vgasrc/stdvga.o Compile checking build/vgabios-isavga/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking build/vgabios-isavga/vgasrc/stdvgaio.o Compile checking build/vgabios-isavga/vgasrc/clext.o Compile checking build/vgabios-isavga/vgasrc/svgamodes.o Compile checking build/vgabios-isavga/vgasrc/atiext.o Compile checking build/vgabios-isavga/vgasrc/bochsvga.o Compile checking build/vgabios-isavga/vgasrc/geodevga.o Compile checking build/vgabios-isavga/src/fw/coreboot.o Compile checking build/vgabios-isavga/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking build/vgabios-isavga/vgasrc/bochsdisplay.o Compile checking build/vgabios-isavga/vgasrc/ramfb.o Compiling whole program build/vgabios-isavga/vgaccode16.raw.s In file included from ./src/output.c:9, from build/vgabios-isavga/vgaccode16.raw.s.tmp.c:1: In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12, inlined from 'bochsvga_save_restore' at ./vgasrc/bochsvga.c:230:15: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler Compiling to assembler build/vgabios-isavga/src/asm-offsets.s Generating offset file build/vgabios-isavga/asm-offsets.h Compiling (16bit) build/vgabios-isavga/vgaentry.o Precompiling build/vgabios-isavga/vgasrc/vgalayout.lds Linking build/vgabios-isavga/vgarom.o Version: 1.16.2-debian-1.16.2-1 ld: warning: build/vgabios-isavga/vgaentry.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker ld: warning: build/vgabios-isavga/vgarom.o has a LOAD segment with RWX permissions Extracting binary build/vgabios-isavga/vgabios.bin.raw Finalizing rom build/vgabios-isavga/vgabios.bin make[1]: Leaving directory '/build/seabios-1.16.2' rm -f build/vgabios-isavga.bin ln build/vgabios-isavga/vgabios.bin build/vgabios-isavga.bin === Building vgabios-ramfb.bin === set -e; if [ ! -e build/vgabios-ramfb/.config.old ]; then rm -rf build/vgabios-ramfb; mkdir -p build/vgabios-ramfb; for x in BUILD_VGABIOS=y VGA_RAMFB=y VGA_PCI=n; do echo CONFIG_$x; done > build/vgabios-ramfb/.config; /usr/bin/make PYTHON="python3 -B" KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-ramfb/.config OUT=build/vgabios-ramfb/ oldnoconfig; fi make[1]: Entering directory '/build/seabios-1.16.2' scripts/kconfig/conf --olddefconfig /build/seabios-1.16.2/src/Kconfig # # configuration written to /build/seabios-1.16.2/build/vgabios-ramfb/.config # make[1]: Leaving directory '/build/seabios-1.16.2' /usr/bin/make PYTHON="python3 -B" $(cat build/env) KCONFIG_CONFIG=/build/seabios-1.16.2/build/vgabios-ramfb/.config OUT=build/vgabios-ramfb/ build/vgabios-ramfb/vgabios.bin make[1]: Entering directory '/build/seabios-1.16.2' Build Kconfig config file Compile checking build/vgabios-ramfb/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking build/vgabios-ramfb/src/string.o Compile checking build/vgabios-ramfb/src/hw/pci.o Compile checking build/vgabios-ramfb/src/hw/serialio.o Compile checking build/vgabios-ramfb/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ In function 'hook_timer_irq', inlined from 'vga_post' at vgasrc/vgainit.c:192:5: vgasrc/vgainit.c:121:21: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 121 | struct segoff_s oldirq = GET_IVT(0x08); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:128:5: note: in expansion of macro 'SET_IVT' 128 | SET_IVT(0x08, newirq); | ^~~~~~~ Compile checking build/vgabios-ramfb/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'vga_set_mode' at vgasrc/vgabios.c:298:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'set_cursor_shape', inlined from 'handle_1001' at vgasrc/vgabios.c:357:5, inlined from 'handle_10' at vgasrc/vgabios.c:1105:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking build/vgabios-ramfb/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_clear_chars' at vgasrc/vgafb.c:377:9, inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_write_char' at vgasrc/vgafb.c:415:9, inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_read_char' at vgasrc/vgafb.c:468:9, inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ Compile checking build/vgabios-ramfb/vgasrc/swcursor.o In file included from src/biosvar.h:10, from vgasrc/swcursor.c:7: vgasrc/swcursor.c: In function 'set_swcursor': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:41:16: note: in expansion of macro 'GET_BDA_EXT' 41 | u8 flags = GET_BDA_EXT(flags); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:48:42: note: in expansion of macro 'GET_BDA' 48 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:49:17: note: in expansion of macro 'GET_BDA' 49 | if (cp.x >= GET_BDA(video_cols) || cp.y > GET_BDA(video_rows) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:49:47: note: in expansion of macro 'GET_BDA' 49 | if (cp.x >= GET_BDA(video_cols) || cp.y > GET_BDA(video_rows) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:50:12: note: in expansion of macro 'GET_BDA' 50 | || GET_BDA(cursor_type) >= 0x2000) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/swcursor.c:54:5: note: in expansion of macro 'SET_BDA_EXT' 54 | SET_BDA_EXT(flags, (flags & ~BF_SWCURSOR) | (enable ? BF_SWCURSOR : 0)); | ^~~~~~~~~~~ In function 'gfx_set_swcursor', inlined from 'set_swcursor' at vgasrc/swcursor.c:57:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:22:19: note: in expansion of macro 'GET_BDA' 22 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'swcursor_pre_handle10' at vgasrc/swcursor.c:72:10: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ In function 'vga_emulate_text', inlined from 'swcursor_check_event' at vgasrc/swcursor.c:93:10: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/swcursor.c: In function 'swcursor_check_event': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:95:18: note: in expansion of macro 'GET_BDA' 95 | set_swcursor(GET_BDA(timer_counter) % 18 < 9); | ^~~~~~~ Compile checking build/vgabios-ramfb/vgasrc/vgafonts.o Compile checking build/vgabios-ramfb/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking build/vgabios-ramfb/vgasrc/stdvga.o Compile checking build/vgabios-ramfb/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking build/vgabios-ramfb/vgasrc/stdvgaio.o Compile checking build/vgabios-ramfb/vgasrc/clext.o Compile checking build/vgabios-ramfb/vgasrc/svgamodes.o Compile checking build/vgabios-ramfb/vgasrc/atiext.o Compile checking build/vgabios-ramfb/vgasrc/bochsvga.o Compile checking build/vgabios-ramfb/vgasrc/geodevga.o Compile checking build/vgabios-ramfb/src/fw/coreboot.o Compile checking build/vgabios-ramfb/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking build/vgabios-ramfb/vgasrc/bochsdisplay.o Compile checking build/vgabios-ramfb/vgasrc/ramfb.o Compiling whole program build/vgabios-ramfb/vgaccode16.raw.s In file included from ./src/output.c:9, from build/vgabios-ramfb/vgaccode16.raw.s.tmp.c:1: ./vgasrc/vgabios.h: In function 'vga_emulate_text': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'bda_save_restore': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/cbvga.c: In function 'cbvga_set_mode': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/swcursor.c: In function 'set_swcursor': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/swcursor.c:41:16: note: in expansion of macro 'GET_BDA_EXT' 41 | u8 flags = GET_BDA_EXT(flags); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_swcursor' at ./vgasrc/swcursor.c:45:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/swcursor.c: In function 'set_swcursor': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/swcursor.c:54:5: note: in expansion of macro 'SET_BDA_EXT' 54 | SET_BDA_EXT(flags, (flags & ~BF_SWCURSOR) | (enable ? BF_SWCURSOR : 0)); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler Compiling to assembler build/vgabios-ramfb/src/asm-offsets.s Generating offset file build/vgabios-ramfb/asm-offsets.h Compiling (16bit) build/vgabios-ramfb/vgaentry.o Precompiling build/vgabios-ramfb/vgasrc/vgalayout.lds Linking build/vgabios-ramfb/vgarom.o Version: 1.16.2-debian-1.16.2-1 ld: warning: build/vgabios-ramfb/vgaentry.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker ld: warning: build/vgabios-ramfb/vgarom.o has a LOAD segment with RWX permissions Extracting binary build/vgabios-ramfb/vgabios.bin.raw Finalizing rom build/vgabios-ramfb/vgabios.bin make[1]: Leaving directory '/build/seabios-1.16.2' rm -f build/vgabios-ramfb.bin ln build/vgabios-ramfb/vgabios.bin build/vgabios-ramfb.bin dh_testdir dh_testroot dh_prep dh_install build/*.bin build/src/fw/*dsdt.aml usr/share/seabios/ dh_link usr/share/seabios/vgabios-isavga.bin usr/share/seabios/vgabios.bin dh_testdir dh_testroot dh_installdocs dh_installman dh_installchangelogs dh_strip_nondeterminism dh_compress dh_fixperms dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'seabios' in '../seabios_1.16.2-1_all.deb'. dpkg-genbuildinfo --build=binary -O../seabios_1.16.2-1_i386.buildinfo dpkg-genchanges --build=binary -O../seabios_1.16.2-1_i386.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/123351 and its subdirectories I: Current time: Mon May 20 01:42:16 -12 2024 I: pbuilder-time-stamp: 1716212536 Tue Apr 18 07:19:18 UTC 2023 I: 1st build successful. Starting 2nd build on remote node ionos12-i386.debian.net. Tue Apr 18 07:19:18 UTC 2023 I: Preparing to do remote build '2' on ionos12-i386.debian.net. Tue Apr 18 07:30:07 UTC 2023 I: Deleting $TMPDIR on ionos12-i386.debian.net. Tue Apr 18 07:30:08 UTC 2023 I: seabios_1.16.2-1_i386.changes: Format: 1.8 Date: Tue, 11 Apr 2023 16:08:25 +0300 Source: seabios Binary: seabios Architecture: all Version: 1.16.2-1 Distribution: unstable Urgency: medium Maintainer: Debian QEMU Team Changed-By: Michael Tokarev Description: seabios - Legacy BIOS implementation Changes: seabios (1.16.2-1) unstable; urgency=medium . * sync with upstream stable 1.16.2 release (rel-1.16.2 tag): this brings up to the exactly same state as our rel-1.16.1.patch did, and brings up 2 more fixes: - usb: fix wrong init of keyboard/mouse's if first interface is not boot protocol - xen: require Xen info structure at 0x1000 to detect Xen Checksums-Sha1: 12cb9d972fc27ac01bb415cb952fa0fcd0870b96 162656 seabios_1.16.2-1_all.deb 79bb316a6b0a974baa9cf109b2ce70147f912a58 5237 seabios_1.16.2-1_i386.buildinfo Checksums-Sha256: 08e5b3f761379f17a6051731cafa03e97686049e2cc1b8bdccc5a910646e2d8e 162656 seabios_1.16.2-1_all.deb 978e6f955bcd75dc35c7ebab474f0d50897407582d98eface081522318ad846d 5237 seabios_1.16.2-1_i386.buildinfo Files: e177e0cef6cbcb3ee807090c61dcf450 162656 misc optional seabios_1.16.2-1_all.deb 5f6167c2d9827270230d71945b2ed936 5237 misc optional seabios_1.16.2-1_i386.buildinfo Tue Apr 18 07:30:09 UTC 2023 I: diffoscope 240 will be used to compare the two builds: # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.XllJvBlA/seabios_1.16.2-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.XllJvBlA/seabios_1.16.2-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.XllJvBlA/seabios_1.16.2-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.XllJvBlA/b1/seabios_1.16.2-1_i386.changes /srv/reproducible-results/rbuild-debian/r-b-build.XllJvBlA/b2/seabios_1.16.2-1_i386.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call abc.DotChangesFile ## main (total time: 0.335s) 0.335s 2 calls outputs 0.000s 1 call cleanup ## recognizes (total time: 0.016s) 0.016s 12 calls diffoscope.comparators.binary.FilesystemFile 0.000s 10 calls abc.DotChangesFile ## specialize (total time: 0.000s) 0.000s 1 call specialize Tue Apr 18 07:30:11 UTC 2023 I: diffoscope 240 found no differences in the changes files, and a .buildinfo file also exists. Tue Apr 18 07:30:11 UTC 2023 I: seabios from bookworm built successfully and reproducibly on i386. Tue Apr 18 07:30:12 UTC 2023 I: Submitting .buildinfo files to external archives: Tue Apr 18 07:30:12 UTC 2023 I: Submitting 8.0K b1/seabios_1.16.2-1_i386.buildinfo.asc Tue Apr 18 07:30:13 UTC 2023 I: Submitting 8.0K b2/seabios_1.16.2-1_i386.buildinfo.asc Tue Apr 18 07:30:15 UTC 2023 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Tue Apr 18 07:30:15 UTC 2023 I: Done submitting .buildinfo files. Tue Apr 18 07:30:15 UTC 2023 I: Removing signed seabios_1.16.2-1_i386.buildinfo.asc files: removed './b1/seabios_1.16.2-1_i386.buildinfo.asc' removed './b2/seabios_1.16.2-1_i386.buildinfo.asc'