Warning: Permanently added '165.192.135.200' (ED25519) to the list of known hosts. You can reproduce this build on your computer by running: sudo dnf install copr-rpmbuild /usr/bin/copr-rpmbuild --verbose --drop-resultdir --task-url https://copr.fedorainfracloud.org/backend/get-build-task/6216922-fedora-37-s390x --chroot fedora-37-s390x Version: 0.68 PID: 5734 Logging PID: 5735 Task: {'appstream': False, 'background': False, 'bootstrap': 'off', 'build_id': 6216922, 'buildroot_pkgs': [], 'chroot': 'fedora-37-s390x', 'enable_net': True, 'fedora_review': False, 'git_hash': 'f8a06d8f6e4da49a95f1ef9a8400ce76f5ea230f', 'git_repo': 'https://copr-dist-git.fedorainfracloud.org/git/@virtmaint-sig/virt-preview/seabios', 'isolation': 'default', 'memory_reqs': 2048, 'package_name': 'seabios', 'package_version': '1.16.2-2', 'project_dirname': 'virt-preview', 'project_name': 'virt-preview', 'project_owner': '@virtmaint-sig', 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/@virtmaint-sig/virt-preview/fedora-37-s390x/', 'id': 'copr_base', 'module_hotfixes': True, 'name': 'Copr repository'}], 'sandbox': '@virtmaint-sig/virt-preview--crobinso', 'source_json': {}, 'source_type': None, 'submitter': 'crobinso', 'tags': [], 'task_id': '6216922-fedora-37-s390x', 'timeout': 18000, 'uses_devel_repo': False, 'with_opts': [], 'without_opts': []} Running: git clone https://copr-dist-git.fedorainfracloud.org/git/@virtmaint-sig/virt-preview/seabios /var/lib/copr-rpmbuild/workspace/workdir-s1uzksqm/seabios --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/@virtmaint-sig/virt-preview/seabios', '/var/lib/copr-rpmbuild/workspace/workdir-s1uzksqm/seabios', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-s1uzksqm/seabios'... Running: git checkout f8a06d8f6e4da49a95f1ef9a8400ce76f5ea230f -- cmd: ['git', 'checkout', 'f8a06d8f6e4da49a95f1ef9a8400ce76f5ea230f', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-s1uzksqm/seabios rc: 0 stdout: stderr: Note: switching to 'f8a06d8f6e4da49a95f1ef9a8400ce76f5ea230f'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at f8a06d8 automatic import of seabios Running: copr-distgit-client sources cmd: ['copr-distgit-client', 'sources'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-s1uzksqm/seabios rc: 0 stdout: stderr: INFO: Reading stdout from command: git rev-parse --abbrev-ref HEAD INFO: Reading stdout from command: git rev-parse HEAD INFO: Reading sources specification file: sources INFO: Downloading seabios-1.16.2.tar.gz INFO: Calling: curl -H Pragma: -o seabios-1.16.2.tar.gz --location --remote-time --show-error --fail https://copr-dist-git.fedorainfracloud.org/repo/pkgs/@virtmaint-sig/virt-preview/seabios/seabios-1.16.2.tar.gz/md5/ef52bf37a78e78a082688a244300ab86/seabios-1.16.2.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed /usr/bin/tail: /var/lib/copr-rpmbuild/main.log: file truncated 100 621k 100 621k 0 0 464k 0 0:00:01 0:00:01 --:--:-- 464k INFO: Reading stdout from command: md5sum seabios-1.16.2.tar.gz Running (timeout=18000): unbuffer mock --buildsrpm --spec /var/lib/copr-rpmbuild/workspace/workdir-s1uzksqm/seabios/seabios.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-s1uzksqm/seabios --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1690460661.666088 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 4.1 starting (python version = 3.11.3, NVR = mock-4.1-1.fc38)... Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/var/lib/copr-rpmbuild/workspace/workdir-s1uzksqm/seabios/seabios.spec) Config(fedora-37-s390x) Start: clean chroot Finish: clean chroot Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-37-s390x-1690460661.666088/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin Mock Version: 4.1 INFO: Mock Version: 4.1 INFO: Package manager dnf detected and used (fallback) Start: installing minimal buildroot with dnf No matches found for the following disable plugin patterns: local, spacewalk, versionlock Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. Copr repository 61 kB/s | 494 kB 00:08 fedora 11 MB/s | 75 MB 00:07 updates 3.2 MB/s | 32 MB 00:09 Last metadata expiration check: 0:00:01 ago on Thu Jul 27 12:25:09 2023. Dependencies resolved. ================================================================================ Package Arch Version Repo Size ================================================================================ Installing group/module packages: bash s390x 5.2.15-1.fc37 updates 1.8 M bzip2 s390x 1.0.8-12.fc37 fedora 51 k coreutils s390x 9.1-8.fc37 updates 1.1 M cpio s390x 2.13-13.fc37 fedora 272 k diffutils s390x 3.8-3.fc37 fedora 377 k fedora-release-common noarch 37-16 updates 21 k findutils s390x 1:4.9.0-2.fc37 fedora 487 k gawk s390x 5.1.1-4.fc37 fedora 1.0 M glibc-minimal-langpack s390x 2.36-9.fc37 updates 86 k grep s390x 3.7-4.fc37 fedora 272 k gzip s390x 1.12-2.fc37 fedora 166 k info s390x 6.8-4.fc37 fedora 220 k patch s390x 2.7.6-17.fc37 fedora 122 k redhat-rpm-config noarch 229-1.fc37 updates 80 k rpm-build s390x 4.18.1-2.fc37 updates 74 k sed s390x 4.8-11.fc37 fedora 304 k shadow-utils s390x 2:4.12.3-6.fc37 updates 1.2 M tar s390x 2:1.34-6.fc37 updates 873 k unzip s390x 6.0-58.fc37 fedora 174 k util-linux s390x 2.38.1-1.fc37 fedora 2.3 M which s390x 2.21-39.fc37 updates 42 k xz s390x 5.4.1-1.fc37 updates 418 k Installing dependencies: alternatives s390x 1.24-1.fc37 updates 38 k ansible-srpm-macros noarch 1-10.fc37 updates 20 k audit-libs s390x 3.1.1-1.fc37 updates 114 k authselect s390x 1.4.2-1.fc37 updates 143 k authselect-libs s390x 1.4.2-1.fc37 updates 246 k basesystem noarch 11-14.fc37 fedora 7.0 k binutils s390x 2.38-27.fc37 updates 5.4 M binutils-gold s390x 2.38-27.fc37 updates 848 k bzip2-libs s390x 1.0.8-12.fc37 fedora 42 k ca-certificates noarch 2023.2.60-1.0.fc37 updates 844 k coreutils-common s390x 9.1-8.fc37 updates 2.0 M cracklib s390x 2.9.7-30.fc37 fedora 91 k crypto-policies noarch 20220815-1.gite4ed860.fc37 fedora 86 k curl s390x 7.85.0-9.fc37 updates 312 k cyrus-sasl-lib s390x 2.1.28-8.fc37 fedora 758 k debugedit s390x 5.0-7.fc37 updates 77 k dwz s390x 0.14-7.fc37 fedora 126 k ed s390x 1.18-2.fc37 fedora 78 k efi-srpm-macros noarch 5-6.fc37 fedora 22 k elfutils s390x 0.189-3.fc37 updates 526 k elfutils-debuginfod-client s390x 0.189-3.fc37 updates 37 k elfutils-default-yama-scope noarch 0.189-3.fc37 updates 13 k elfutils-libelf s390x 0.189-3.fc37 updates 194 k elfutils-libs s390x 0.189-3.fc37 updates 253 k fedora-gpg-keys noarch 37-2 updates 126 k fedora-release noarch 37-16 updates 10 k fedora-release-identity-basic noarch 37-16 updates 11 k fedora-repos noarch 37-2 updates 9.4 k file s390x 5.42-4.fc37 fedora 48 k file-libs s390x 5.42-4.fc37 fedora 675 k filesystem s390x 3.18-2.fc37 fedora 1.1 M fonts-srpm-macros noarch 1:2.0.5-9.fc37 fedora 26 k fpc-srpm-macros noarch 1.3-6.fc37 fedora 7.7 k gdb-minimal s390x 13.2-2.fc37 updates 3.7 M gdbm-libs s390x 1:1.23-2.fc37 fedora 56 k ghc-srpm-macros noarch 1.6.1-1.fc37 updates 8.0 k glibc s390x 2.36-9.fc37 updates 1.7 M glibc-common s390x 2.36-9.fc37 updates 358 k glibc-gconv-extra s390x 2.36-9.fc37 updates 1.6 M gmp s390x 1:6.2.1-3.fc37 fedora 284 k gnat-srpm-macros noarch 5-1.fc37 updates 8.3 k go-srpm-macros noarch 3.2.0-1.fc37 fedora 27 k kernel-srpm-macros noarch 1.0-15.fc37 fedora 9.4 k keyutils-libs s390x 1.6.1-5.fc37 fedora 31 k krb5-libs s390x 1.19.2-13.fc37 updates 704 k libacl s390x 2.3.1-4.fc37 fedora 23 k libarchive s390x 3.6.1-3.fc37 updates 387 k libattr s390x 2.5.1-5.fc37 fedora 18 k libblkid s390x 2.38.1-1.fc37 fedora 102 k libbrotli s390x 1.0.9-9.fc37 fedora 317 k libcap s390x 2.48-5.fc37 fedora 66 k libcap-ng s390x 0.8.3-3.fc37 fedora 32 k libcom_err s390x 1.46.5-3.fc37 fedora 25 k libcurl s390x 7.85.0-9.fc37 updates 297 k libdb s390x 5.3.28-53.fc37 fedora 720 k libeconf s390x 0.4.0-4.fc37 fedora 26 k libevent s390x 2.1.12-7.fc37 fedora 252 k libfdisk s390x 2.38.1-1.fc37 fedora 154 k libffi s390x 3.4.4-1.fc37 updates 34 k libgcc s390x 12.3.1-1.fc37 updates 87 k libgomp s390x 12.3.1-1.fc37 updates 297 k libidn2 s390x 2.3.4-1.fc37 updates 161 k libmount s390x 2.38.1-1.fc37 fedora 131 k libnghttp2 s390x 1.51.0-1.fc37 updates 73 k libnsl2 s390x 2.0.0-4.fc37 fedora 30 k libpkgconf s390x 1.8.0-3.fc37 fedora 34 k libpsl s390x 0.21.1-6.fc37 fedora 63 k libpwquality s390x 1.4.5-3.fc37 updates 119 k libselinux s390x 3.5-1.fc37 updates 84 k libsemanage s390x 3.5-2.fc37 updates 114 k libsepol s390x 3.5-1.fc37 updates 299 k libsigsegv s390x 2.14-3.fc37 fedora 27 k libsmartcols s390x 2.38.1-1.fc37 fedora 63 k libssh s390x 0.10.5-1.fc37 updates 198 k libssh-config noarch 0.10.5-1.fc37 updates 8.6 k libstdc++ s390x 12.3.1-1.fc37 updates 845 k libtasn1 s390x 4.19.0-1.fc37 updates 72 k libtirpc s390x 1.3.3-1.rc1.fc37 updates 90 k libunistring s390x 1.0-2.fc37 fedora 547 k libutempter s390x 1.2.1-7.fc37 fedora 26 k libuuid s390x 2.38.1-1.fc37 fedora 27 k libverto s390x 0.3.2-4.fc37 fedora 20 k libxcrypt s390x 4.4.36-1.fc37 updates 120 k libxml2 s390x 2.10.4-1.fc37 updates 667 k libzstd s390x 1.5.5-1.fc37 updates 283 k lua-libs s390x 5.4.4-9.fc37 updates 128 k lua-srpm-macros noarch 1-7.fc37 fedora 8.8 k lz4-libs s390x 1.9.4-1.fc37 updates 64 k mpfr s390x 4.1.0-10.fc37 fedora 254 k ncurses-base noarch 6.4-3.20230114.fc37 updates 86 k ncurses-libs s390x 6.4-3.20230114.fc37 updates 320 k nim-srpm-macros noarch 3-7.fc37 fedora 8.4 k ocaml-srpm-macros noarch 7-2.fc37 fedora 13 k openblas-srpm-macros noarch 2-12.fc37 fedora 7.5 k openldap s390x 2.6.4-1.fc37 updates 248 k openssl-libs s390x 1:3.0.9-1.fc37 updates 1.8 M p11-kit s390x 0.24.1-3.fc37 fedora 378 k p11-kit-trust s390x 0.24.1-3.fc37 fedora 132 k package-notes-srpm-macros noarch 0.5-7.fc37 updates 11 k pam s390x 1.5.2-14.fc37 fedora 552 k pam-libs s390x 1.5.2-14.fc37 fedora 56 k pcre s390x 8.45-1.fc37.2 fedora 121 k pcre2 s390x 10.40-1.fc37.1 fedora 219 k pcre2-syntax noarch 10.40-1.fc37.1 fedora 142 k perl-srpm-macros noarch 1-46.fc37 fedora 8.3 k pkgconf s390x 1.8.0-3.fc37 fedora 41 k pkgconf-m4 noarch 1.8.0-3.fc37 fedora 14 k pkgconf-pkg-config s390x 1.8.0-3.fc37 fedora 10 k popt s390x 1.19-1.fc37 fedora 65 k publicsuffix-list-dafsa noarch 20230614-1.fc37 updates 57 k pyproject-srpm-macros noarch 1.9.0-1.fc37 updates 15 k python-srpm-macros noarch 3.11-6.fc37 updates 24 k qt5-srpm-macros noarch 5.15.9-1.fc37 updates 8.1 k readline s390x 8.2-2.fc37 updates 208 k rpm s390x 4.18.1-2.fc37 updates 567 k rpm-build-libs s390x 4.18.1-2.fc37 updates 89 k rpm-libs s390x 4.18.1-2.fc37 updates 309 k rpmautospec-rpm-macros noarch 0.3.5-1.fc37 updates 9.3 k rust-srpm-macros noarch 24-2.fc37 updates 12 k setup noarch 2.14.1-2.fc37 fedora 149 k sqlite-libs s390x 3.40.0-1.fc37 updates 644 k systemd-libs s390x 251.14-2.fc37 updates 575 k tzdata noarch 2023c-1.fc37 updates 718 k util-linux-core s390x 2.38.1-1.fc37 fedora 460 k xxhash-libs s390x 0.8.1-3.fc37 fedora 36 k xz-libs s390x 5.4.1-1.fc37 updates 106 k zip s390x 3.0-33.fc37 fedora 255 k zlib s390x 1.2.12-5.fc37 fedora 95 k zstd s390x 1.5.5-1.fc37 updates 430 k Installing Groups: Buildsystem building group Transaction Summary ================================================================================ Install 151 Packages Total download size: 50 M Installed size: 177 M Downloading Packages: (1/151): basesystem-11-14.fc37.noarch.rpm 26 kB/s | 7.0 kB 00:00 (2/151): bzip2-1.0.8-12.fc37.s390x.rpm 94 kB/s | 51 kB 00:00 (3/151): bzip2-libs-1.0.8-12.fc37.s390x.rpm 72 kB/s | 42 kB 00:00 (4/151): cracklib-2.9.7-30.fc37.s390x.rpm 307 kB/s | 91 kB 00:00 (5/151): cpio-2.13-13.fc37.s390x.rpm 416 kB/s | 272 kB 00:00 (6/151): crypto-policies-20220815-1.gite4ed860. 249 kB/s | 86 kB 00:00 (7/151): dwz-0.14-7.fc37.s390x.rpm 494 kB/s | 126 kB 00:00 (8/151): diffutils-3.8-3.fc37.s390x.rpm 1.3 MB/s | 377 kB 00:00 (9/151): efi-srpm-macros-5-6.fc37.noarch.rpm 165 kB/s | 22 kB 00:00 (10/151): cyrus-sasl-lib-2.1.28-8.fc37.s390x.rp 1.4 MB/s | 758 kB 00:00 (11/151): ed-1.18-2.fc37.s390x.rpm 385 kB/s | 78 kB 00:00 (12/151): file-5.42-4.fc37.s390x.rpm 350 kB/s | 48 kB 00:00 (13/151): file-libs-5.42-4.fc37.s390x.rpm 3.2 MB/s | 675 kB 00:00 (14/151): findutils-4.9.0-2.fc37.s390x.rpm 2.3 MB/s | 487 kB 00:00 (15/151): fonts-srpm-macros-2.0.5-9.fc37.noarch 195 kB/s | 26 kB 00:00 (16/151): fpc-srpm-macros-1.3-6.fc37.noarch.rpm 58 kB/s | 7.7 kB 00:00 (17/151): gawk-5.1.1-4.fc37.s390x.rpm 4.1 MB/s | 1.0 MB 00:00 (18/151): gdbm-libs-1.23-2.fc37.s390x.rpm 403 kB/s | 56 kB 00:00 (19/151): filesystem-3.18-2.fc37.s390x.rpm 1.8 MB/s | 1.1 MB 00:00 (20/151): go-srpm-macros-3.2.0-1.fc37.noarch.rp 200 kB/s | 27 kB 00:00 (21/151): gmp-6.2.1-3.fc37.s390x.rpm 1.8 MB/s | 284 kB 00:00 (22/151): grep-3.7-4.fc37.s390x.rpm 1.6 MB/s | 272 kB 00:00 (23/151): info-6.8-4.fc37.s390x.rpm 1.4 MB/s | 220 kB 00:00 (24/151): gzip-1.12-2.fc37.s390x.rpm 1.0 MB/s | 166 kB 00:00 (25/151): kernel-srpm-macros-1.0-15.fc37.noarch 63 kB/s | 9.4 kB 00:00 (26/151): libacl-2.3.1-4.fc37.s390x.rpm 173 kB/s | 23 kB 00:00 (27/151): keyutils-libs-1.6.1-5.fc37.s390x.rpm 228 kB/s | 31 kB 00:00 (28/151): libattr-2.5.1-5.fc37.s390x.rpm 120 kB/s | 18 kB 00:00 (29/151): libblkid-2.38.1-1.fc37.s390x.rpm 735 kB/s | 102 kB 00:00 (30/151): libbrotli-1.0.9-9.fc37.s390x.rpm 1.7 MB/s | 317 kB 00:00 (31/151): libcap-2.48-5.fc37.s390x.rpm 435 kB/s | 66 kB 00:00 (32/151): libcap-ng-0.8.3-3.fc37.s390x.rpm 242 kB/s | 32 kB 00:00 (33/151): libcom_err-1.46.5-3.fc37.s390x.rpm 188 kB/s | 25 kB 00:00 (34/151): libeconf-0.4.0-4.fc37.s390x.rpm 192 kB/s | 26 kB 00:00 (35/151): libdb-5.3.28-53.fc37.s390x.rpm 3.3 MB/s | 720 kB 00:00 (36/151): libevent-2.1.12-7.fc37.s390x.rpm 1.5 MB/s | 252 kB 00:00 (37/151): libfdisk-2.38.1-1.fc37.s390x.rpm 1.0 MB/s | 154 kB 00:00 (38/151): libmount-2.38.1-1.fc37.s390x.rpm 827 kB/s | 131 kB 00:00 (39/151): libnsl2-2.0.0-4.fc37.s390x.rpm 219 kB/s | 30 kB 00:00 (40/151): libpkgconf-1.8.0-3.fc37.s390x.rpm 257 kB/s | 34 kB 00:00 (41/151): libsigsegv-2.14-3.fc37.s390x.rpm 193 kB/s | 27 kB 00:00 (42/151): libpsl-0.21.1-6.fc37.s390x.rpm 409 kB/s | 63 kB 00:00 (43/151): libsmartcols-2.38.1-1.fc37.s390x.rpm 463 kB/s | 63 kB 00:00 (44/151): libutempter-1.2.1-7.fc37.s390x.rpm 172 kB/s | 26 kB 00:00 (45/151): libuuid-2.38.1-1.fc37.s390x.rpm 203 kB/s | 27 kB 00:00 (46/151): libunistring-1.0-2.fc37.s390x.rpm 2.5 MB/s | 547 kB 00:00 (47/151): libverto-0.3.2-4.fc37.s390x.rpm 134 kB/s | 20 kB 00:00 (48/151): lua-srpm-macros-1-7.fc37.noarch.rpm 64 kB/s | 8.8 kB 00:00 (49/151): mpfr-4.1.0-10.fc37.s390x.rpm 1.5 MB/s | 254 kB 00:00 (50/151): nim-srpm-macros-3-7.fc37.noarch.rpm 57 kB/s | 8.4 kB 00:00 (51/151): ocaml-srpm-macros-7-2.fc37.noarch.rpm 101 kB/s | 13 kB 00:00 (52/151): openblas-srpm-macros-2-12.fc37.noarch 57 kB/s | 7.5 kB 00:00 (53/151): p11-kit-trust-0.24.1-3.fc37.s390x.rpm 927 kB/s | 132 kB 00:00 (54/151): p11-kit-0.24.1-3.fc37.s390x.rpm 2.0 MB/s | 378 kB 00:00 (55/151): pam-1.5.2-14.fc37.s390x.rpm 2.6 MB/s | 552 kB 00:00 (56/151): pam-libs-1.5.2-14.fc37.s390x.rpm 414 kB/s | 56 kB 00:00 (57/151): patch-2.7.6-17.fc37.s390x.rpm 779 kB/s | 122 kB 00:00 (58/151): pcre-8.45-1.fc37.2.s390x.rpm 820 kB/s | 121 kB 00:00 (59/151): pcre2-10.40-1.fc37.1.s390x.rpm 1.4 MB/s | 219 kB 00:00 (60/151): pcre2-syntax-10.40-1.fc37.1.noarch.rp 897 kB/s | 142 kB 00:00 (61/151): perl-srpm-macros-1-46.fc37.noarch.rpm 62 kB/s | 8.3 kB 00:00 (62/151): pkgconf-1.8.0-3.fc37.s390x.rpm 307 kB/s | 41 kB 00:00 (63/151): pkgconf-m4-1.8.0-3.fc37.noarch.rpm 97 kB/s | 14 kB 00:00 (64/151): pkgconf-pkg-config-1.8.0-3.fc37.s390x 76 kB/s | 10 kB 00:00 (65/151): popt-1.19-1.fc37.s390x.rpm 479 kB/s | 65 kB 00:00 (66/151): sed-4.8-11.fc37.s390x.rpm 1.7 MB/s | 304 kB 00:00 (67/151): setup-2.14.1-2.fc37.noarch.rpm 993 kB/s | 149 kB 00:00 (68/151): unzip-6.0-58.fc37.s390x.rpm 1.2 MB/s | 174 kB 00:00 (69/151): xxhash-libs-0.8.1-3.fc37.s390x.rpm 271 kB/s | 36 kB 00:00 (70/151): util-linux-core-2.38.1-1.fc37.s390x.r 2.3 MB/s | 460 kB 00:00 (71/151): zip-3.0-33.fc37.s390x.rpm 1.6 MB/s | 255 kB 00:00 (72/151): zlib-1.2.12-5.fc37.s390x.rpm 666 kB/s | 95 kB 00:00 (73/151): util-linux-2.38.1-1.fc37.s390x.rpm 6.4 MB/s | 2.3 MB 00:00 (74/151): ansible-srpm-macros-1-10.fc37.noarch. 37 kB/s | 20 kB 00:00 (75/151): alternatives-1.24-1.fc37.s390x.rpm 59 kB/s | 38 kB 00:00 (76/151): audit-libs-3.1.1-1.fc37.s390x.rpm 115 kB/s | 114 kB 00:00 (77/151): authselect-1.4.2-1.fc37.s390x.rpm 219 kB/s | 143 kB 00:00 (78/151): authselect-libs-1.4.2-1.fc37.s390x.rp 335 kB/s | 246 kB 00:00 (79/151): binutils-gold-2.38-27.fc37.s390x.rpm 1.4 MB/s | 848 kB 00:00 (80/151): bash-5.2.15-1.fc37.s390x.rpm 1.8 MB/s | 1.8 MB 00:00 (81/151): ca-certificates-2023.2.60-1.0.fc37.no 2.8 MB/s | 844 kB 00:00 (82/151): coreutils-9.1-8.fc37.s390x.rpm 4.0 MB/s | 1.1 MB 00:00 (83/151): binutils-2.38-27.fc37.s390x.rpm 4.7 MB/s | 5.4 MB 00:01 (84/151): curl-7.85.0-9.fc37.s390x.rpm 1.5 MB/s | 312 kB 00:00 (85/151): debugedit-5.0-7.fc37.s390x.rpm 426 kB/s | 77 kB 00:00 (86/151): coreutils-common-9.1-8.fc37.s390x.rpm 4.7 MB/s | 2.0 MB 00:00 (87/151): elfutils-0.189-3.fc37.s390x.rpm 2.3 MB/s | 526 kB 00:00 (88/151): elfutils-debuginfod-client-0.189-3.fc 207 kB/s | 37 kB 00:00 (89/151): elfutils-default-yama-scope-0.189-3.f 74 kB/s | 13 kB 00:00 (90/151): elfutils-libelf-0.189-3.fc37.s390x.rp 977 kB/s | 194 kB 00:00 (91/151): elfutils-libs-0.189-3.fc37.s390x.rpm 1.3 MB/s | 253 kB 00:00 (92/151): fedora-gpg-keys-37-2.noarch.rpm 679 kB/s | 126 kB 00:00 (93/151): fedora-release-37-16.noarch.rpm 56 kB/s | 10 kB 00:00 (94/151): fedora-release-common-37-16.noarch.rp 115 kB/s | 21 kB 00:00 (95/151): fedora-release-identity-basic-37-16.n 61 kB/s | 11 kB 00:00 (96/151): fedora-repos-37-2.noarch.rpm 50 kB/s | 9.4 kB 00:00 (97/151): ghc-srpm-macros-1.6.1-1.fc37.noarch.r 44 kB/s | 8.0 kB 00:00 (98/151): gdb-minimal-13.2-2.fc37.s390x.rpm 9.7 MB/s | 3.7 MB 00:00 (99/151): glibc-2.36-9.fc37.s390x.rpm 5.6 MB/s | 1.7 MB 00:00 (100/151): glibc-common-2.36-9.fc37.s390x.rpm 1.8 MB/s | 358 kB 00:00 (101/151): glibc-gconv-extra-2.36-9.fc37.s390x. 7.6 MB/s | 1.6 MB 00:00 (102/151): glibc-minimal-langpack-2.36-9.fc37.s 454 kB/s | 86 kB 00:00 (103/151): gnat-srpm-macros-5-1.fc37.noarch.rpm 46 kB/s | 8.3 kB 00:00 (104/151): krb5-libs-1.19.2-13.fc37.s390x.rpm 3.5 MB/s | 704 kB 00:00 (105/151): libcurl-7.85.0-9.fc37.s390x.rpm 1.5 MB/s | 297 kB 00:00 (106/151): libarchive-3.6.1-3.fc37.s390x.rpm 1.8 MB/s | 387 kB 00:00 (107/151): libffi-3.4.4-1.fc37.s390x.rpm 188 kB/s | 34 kB 00:00 (108/151): libgcc-12.3.1-1.fc37.s390x.rpm 470 kB/s | 87 kB 00:00 (109/151): libgomp-12.3.1-1.fc37.s390x.rpm 1.4 MB/s | 297 kB 00:00 (110/151): libidn2-2.3.4-1.fc37.s390x.rpm 878 kB/s | 161 kB 00:00 (111/151): libnghttp2-1.51.0-1.fc37.s390x.rpm 395 kB/s | 73 kB 00:00 (112/151): libpwquality-1.4.5-3.fc37.s390x.rpm 616 kB/s | 119 kB 00:00 (113/151): libselinux-3.5-1.fc37.s390x.rpm 464 kB/s | 84 kB 00:00 (114/151): libsemanage-3.5-2.fc37.s390x.rpm 614 kB/s | 114 kB 00:00 (115/151): libsepol-3.5-1.fc37.s390x.rpm 1.4 MB/s | 299 kB 00:00 (116/151): libssh-0.10.5-1.fc37.s390x.rpm 1.1 MB/s | 198 kB 00:00 (117/151): libssh-config-0.10.5-1.fc37.noarch.r 47 kB/s | 8.6 kB 00:00 (118/151): libstdc++-12.3.1-1.fc37.s390x.rpm 3.5 MB/s | 845 kB 00:00 (119/151): libtasn1-4.19.0-1.fc37.s390x.rpm 400 kB/s | 72 kB 00:00 (120/151): libtirpc-1.3.3-1.rc1.fc37.s390x.rpm 486 kB/s | 90 kB 00:00 (121/151): libxcrypt-4.4.36-1.fc37.s390x.rpm 625 kB/s | 120 kB 00:00 (122/151): libxml2-2.10.4-1.fc37.s390x.rpm 3.4 MB/s | 667 kB 00:00 (123/151): libzstd-1.5.5-1.fc37.s390x.rpm 1.4 MB/s | 283 kB 00:00 (124/151): lz4-libs-1.9.4-1.fc37.s390x.rpm 356 kB/s | 64 kB 00:00 (125/151): lua-libs-5.4.4-9.fc37.s390x.rpm 660 kB/s | 128 kB 00:00 (126/151): ncurses-base-6.4-3.20230114.fc37.noa 467 kB/s | 86 kB 00:00 (127/151): ncurses-libs-6.4-3.20230114.fc37.s39 1.7 MB/s | 320 kB 00:00 (128/151): openldap-2.6.4-1.fc37.s390x.rpm 1.2 MB/s | 248 kB 00:00 (129/151): openssl-libs-3.0.9-1.fc37.s390x.rpm 6.9 MB/s | 1.8 MB 00:00 (130/151): package-notes-srpm-macros-0.5-7.fc37 60 kB/s | 11 kB 00:00 (131/151): publicsuffix-list-dafsa-20230614-1.f 302 kB/s | 57 kB 00:00 (132/151): pyproject-srpm-macros-1.9.0-1.fc37.n 82 kB/s | 15 kB 00:00 (133/151): python-srpm-macros-3.11-6.fc37.noarc 135 kB/s | 24 kB 00:00 (134/151): qt5-srpm-macros-5.15.9-1.fc37.noarch 44 kB/s | 8.1 kB 00:00 (135/151): readline-8.2-2.fc37.s390x.rpm 1.1 MB/s | 208 kB 00:00 (136/151): redhat-rpm-config-229-1.fc37.noarch. 442 kB/s | 80 kB 00:00 (137/151): rpm-4.18.1-2.fc37.s390x.rpm 2.5 MB/s | 567 kB 00:00 (138/151): rpm-build-4.18.1-2.fc37.s390x.rpm 404 kB/s | 74 kB 00:00 (139/151): rpm-build-libs-4.18.1-2.fc37.s390x.r 494 kB/s | 89 kB 00:00 (140/151): rpm-libs-4.18.1-2.fc37.s390x.rpm 1.5 MB/s | 309 kB 00:00 (141/151): rpmautospec-rpm-macros-0.3.5-1.fc37. 51 kB/s | 9.3 kB 00:00 (142/151): rust-srpm-macros-24-2.fc37.noarch.rp 66 kB/s | 12 kB 00:00 (143/151): shadow-utils-4.12.3-6.fc37.s390x.rpm 4.7 MB/s | 1.2 MB 00:00 (144/151): systemd-libs-251.14-2.fc37.s390x.rpm 2.9 MB/s | 575 kB 00:00 (145/151): sqlite-libs-3.40.0-1.fc37.s390x.rpm 3.0 MB/s | 644 kB 00:00 (146/151): which-2.21-39.fc37.s390x.rpm 229 kB/s | 42 kB 00:00 (147/151): tzdata-2023c-1.fc37.noarch.rpm 3.6 MB/s | 718 kB 00:00 (148/151): tar-1.34-6.fc37.s390x.rpm 3.6 MB/s | 873 kB 00:00 (149/151): xz-libs-5.4.1-1.fc37.s390x.rpm 586 kB/s | 106 kB 00:00 (150/151): xz-5.4.1-1.fc37.s390x.rpm 2.1 MB/s | 418 kB 00:00 (151/151): zstd-1.5.5-1.fc37.s390x.rpm 2.0 MB/s | 430 kB 00:00 -------------------------------------------------------------------------------- Total 3.9 MB/s | 50 MB 00:12 fedora 1.6 MB/s | 1.6 kB 00:00 Importing GPG key 0x5323552A: Userid : "Fedora (37) " Fingerprint: ACB5 EE4E 831C 74BB 7C16 8D27 F55A D3FB 5323 552A From : /usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-37-primary Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Running scriptlet: filesystem-3.18-2.fc37.s390x 1/1 Preparing : 1/1 Installing : libgcc-12.3.1-1.fc37.s390x 1/151 Running scriptlet: libgcc-12.3.1-1.fc37.s390x 1/151 Installing : crypto-policies-20220815-1.gite4ed860.fc37.noarc 2/151 Running scriptlet: crypto-policies-20220815-1.gite4ed860.fc37.noarc 2/151 Installing : fedora-release-identity-basic-37-16.noarch 3/151 Installing : tzdata-2023c-1.fc37.noarch 4/151 Installing : rust-srpm-macros-24-2.fc37.noarch 5/151 Installing : qt5-srpm-macros-5.15.9-1.fc37.noarch 6/151 Installing : pyproject-srpm-macros-1.9.0-1.fc37.noarch 7/151 Installing : publicsuffix-list-dafsa-20230614-1.fc37.noarch 8/151 Installing : package-notes-srpm-macros-0.5-7.fc37.noarch 9/151 Installing : ncurses-base-6.4-3.20230114.fc37.noarch 10/151 Installing : libssh-config-0.10.5-1.fc37.noarch 11/151 Installing : gnat-srpm-macros-5-1.fc37.noarch 12/151 Installing : ghc-srpm-macros-1.6.1-1.fc37.noarch 13/151 Installing : fedora-gpg-keys-37-2.noarch 14/151 Installing : fedora-release-37-16.noarch 15/151 Installing : fedora-repos-37-2.noarch 16/151 Installing : fedora-release-common-37-16.noarch 17/151 Installing : setup-2.14.1-2.fc37.noarch 18/151 Running scriptlet: setup-2.14.1-2.fc37.noarch 18/151 Installing : filesystem-3.18-2.fc37.s390x 19/151 Installing : basesystem-11-14.fc37.noarch 20/151 Installing : glibc-gconv-extra-2.36-9.fc37.s390x 21/151 Running scriptlet: glibc-gconv-extra-2.36-9.fc37.s390x 21/151 Installing : glibc-minimal-langpack-2.36-9.fc37.s390x 22/151 Installing : glibc-common-2.36-9.fc37.s390x 23/151 Running scriptlet: glibc-2.36-9.fc37.s390x 24/151 Installing : glibc-2.36-9.fc37.s390x 24/151 Running scriptlet: glibc-2.36-9.fc37.s390x 24/151 Installing : ncurses-libs-6.4-3.20230114.fc37.s390x 25/151 Installing : bash-5.2.15-1.fc37.s390x 26/151 Running scriptlet: bash-5.2.15-1.fc37.s390x 26/151 Installing : zlib-1.2.12-5.fc37.s390x 27/151 Installing : xz-libs-5.4.1-1.fc37.s390x 28/151 Installing : bzip2-libs-1.0.8-12.fc37.s390x 29/151 Installing : libzstd-1.5.5-1.fc37.s390x 30/151 Installing : elfutils-libelf-0.189-3.fc37.s390x 31/151 Installing : libuuid-2.38.1-1.fc37.s390x 32/151 Installing : popt-1.19-1.fc37.s390x 33/151 Installing : libstdc++-12.3.1-1.fc37.s390x 34/151 Installing : libblkid-2.38.1-1.fc37.s390x 35/151 Installing : readline-8.2-2.fc37.s390x 36/151 Installing : gmp-1:6.2.1-3.fc37.s390x 37/151 Installing : libattr-2.5.1-5.fc37.s390x 38/151 Installing : libacl-2.3.1-4.fc37.s390x 39/151 Installing : libcap-2.48-5.fc37.s390x 40/151 Installing : libxcrypt-4.4.36-1.fc37.s390x 41/151 Installing : libeconf-0.4.0-4.fc37.s390x 42/151 Installing : lz4-libs-1.9.4-1.fc37.s390x 43/151 Installing : systemd-libs-251.14-2.fc37.s390x 44/151 Installing : mpfr-4.1.0-10.fc37.s390x 45/151 Installing : dwz-0.14-7.fc37.s390x 46/151 Installing : unzip-6.0-58.fc37.s390x 47/151 Installing : file-libs-5.42-4.fc37.s390x 48/151 Installing : file-5.42-4.fc37.s390x 49/151 Installing : sqlite-libs-3.40.0-1.fc37.s390x 50/151 Installing : libcap-ng-0.8.3-3.fc37.s390x 51/151 Installing : audit-libs-3.1.1-1.fc37.s390x 52/151 Installing : pam-libs-1.5.2-14.fc37.s390x 53/151 Installing : libcom_err-1.46.5-3.fc37.s390x 54/151 Installing : libsmartcols-2.38.1-1.fc37.s390x 55/151 Installing : libunistring-1.0-2.fc37.s390x 56/151 Installing : libidn2-2.3.4-1.fc37.s390x 57/151 Installing : alternatives-1.24-1.fc37.s390x 58/151 Installing : libsepol-3.5-1.fc37.s390x 59/151 Installing : lua-libs-5.4.4-9.fc37.s390x 60/151 Installing : libpsl-0.21.1-6.fc37.s390x 61/151 Installing : zip-3.0-33.fc37.s390x 62/151 Installing : zstd-1.5.5-1.fc37.s390x 63/151 Installing : libfdisk-2.38.1-1.fc37.s390x 64/151 Installing : bzip2-1.0.8-12.fc37.s390x 65/151 Installing : libxml2-2.10.4-1.fc37.s390x 66/151 Installing : ed-1.18-2.fc37.s390x 67/151 Installing : elfutils-default-yama-scope-0.189-3.fc37.noarch 68/151 Running scriptlet: elfutils-default-yama-scope-0.189-3.fc37.noarch 68/151 Installing : cpio-2.13-13.fc37.s390x 69/151 Installing : diffutils-3.8-3.fc37.s390x 70/151 Installing : gdbm-libs-1:1.23-2.fc37.s390x 71/151 Installing : cyrus-sasl-lib-2.1.28-8.fc37.s390x 72/151 Installing : keyutils-libs-1.6.1-5.fc37.s390x 73/151 Installing : libbrotli-1.0.9-9.fc37.s390x 74/151 Installing : libdb-5.3.28-53.fc37.s390x 75/151 Installing : libpkgconf-1.8.0-3.fc37.s390x 76/151 Installing : pkgconf-1.8.0-3.fc37.s390x 77/151 Installing : libsigsegv-2.14-3.fc37.s390x 78/151 Installing : gawk-5.1.1-4.fc37.s390x 79/151 Installing : libverto-0.3.2-4.fc37.s390x 80/151 Installing : pcre-8.45-1.fc37.2.s390x 81/151 Installing : grep-3.7-4.fc37.s390x 82/151 Installing : xz-5.4.1-1.fc37.s390x 83/151 Installing : xxhash-libs-0.8.1-3.fc37.s390x 84/151 Installing : libffi-3.4.4-1.fc37.s390x 85/151 Installing : p11-kit-0.24.1-3.fc37.s390x 86/151 Installing : libgomp-12.3.1-1.fc37.s390x 87/151 Installing : libnghttp2-1.51.0-1.fc37.s390x 88/151 Installing : libtasn1-4.19.0-1.fc37.s390x 89/151 Installing : p11-kit-trust-0.24.1-3.fc37.s390x 90/151 Running scriptlet: p11-kit-trust-0.24.1-3.fc37.s390x 90/151 Installing : coreutils-common-9.1-8.fc37.s390x 91/151 Installing : ansible-srpm-macros-1-10.fc37.noarch 92/151 Installing : pkgconf-m4-1.8.0-3.fc37.noarch 93/151 Installing : pkgconf-pkg-config-1.8.0-3.fc37.s390x 94/151 Installing : perl-srpm-macros-1-46.fc37.noarch 95/151 Installing : pcre2-syntax-10.40-1.fc37.1.noarch 96/151 Installing : pcre2-10.40-1.fc37.1.s390x 97/151 Installing : libselinux-3.5-1.fc37.s390x 98/151 Installing : sed-4.8-11.fc37.s390x 99/151 Installing : findutils-1:4.9.0-2.fc37.s390x 100/151 Installing : libmount-2.38.1-1.fc37.s390x 101/151 Installing : util-linux-core-2.38.1-1.fc37.s390x 102/151 Installing : openssl-libs-1:3.0.9-1.fc37.s390x 103/151 Installing : coreutils-9.1-8.fc37.s390x 104/151 Running scriptlet: ca-certificates-2023.2.60-1.0.fc37.noarch 105/151 Installing : ca-certificates-2023.2.60-1.0.fc37.noarch 105/151 Running scriptlet: ca-certificates-2023.2.60-1.0.fc37.noarch 105/151 Installing : krb5-libs-1.19.2-13.fc37.s390x 106/151 Installing : libtirpc-1.3.3-1.rc1.fc37.s390x 107/151 Installing : gzip-1.12-2.fc37.s390x 108/151 Running scriptlet: authselect-libs-1.4.2-1.fc37.s390x 109/151 Installing : authselect-libs-1.4.2-1.fc37.s390x 109/151 Installing : authselect-1.4.2-1.fc37.s390x 110/151 Installing : cracklib-2.9.7-30.fc37.s390x 111/151 Installing : libpwquality-1.4.5-3.fc37.s390x 112/151 Installing : libnsl2-2.0.0-4.fc37.s390x 113/151 Installing : pam-1.5.2-14.fc37.s390x 114/151 Installing : libssh-0.10.5-1.fc37.s390x 115/151 Installing : libevent-2.1.12-7.fc37.s390x 116/151 Installing : openldap-2.6.4-1.fc37.s390x 117/151 Installing : libcurl-7.85.0-9.fc37.s390x 118/151 Installing : elfutils-debuginfod-client-0.189-3.fc37.s390x 119/151 Installing : elfutils-libs-0.189-3.fc37.s390x 120/151 Installing : binutils-gold-2.38-27.fc37.s390x 121/151 Installing : binutils-2.38-27.fc37.s390x 122/151 Running scriptlet: binutils-2.38-27.fc37.s390x 122/151 Installing : elfutils-0.189-3.fc37.s390x 123/151 Installing : gdb-minimal-13.2-2.fc37.s390x 124/151 Installing : debugedit-5.0-7.fc37.s390x 125/151 Installing : curl-7.85.0-9.fc37.s390x 126/151 Installing : libarchive-3.6.1-3.fc37.s390x 127/151 Running scriptlet: rpm-4.18.1-2.fc37.s390x 128/151 Installing : rpm-4.18.1-2.fc37.s390x 128/151 Installing : rpm-libs-4.18.1-2.fc37.s390x 129/151 Installing : rpm-build-libs-4.18.1-2.fc37.s390x 130/151 Installing : efi-srpm-macros-5-6.fc37.noarch 131/151 Installing : lua-srpm-macros-1-7.fc37.noarch 132/151 Installing : rpmautospec-rpm-macros-0.3.5-1.fc37.noarch 133/151 Installing : patch-2.7.6-17.fc37.s390x 134/151 Installing : libsemanage-3.5-2.fc37.s390x 135/151 Installing : shadow-utils-2:4.12.3-6.fc37.s390x 136/151 Running scriptlet: libutempter-1.2.1-7.fc37.s390x 137/151 Installing : libutempter-1.2.1-7.fc37.s390x 137/151 Installing : tar-2:1.34-6.fc37.s390x 138/151 Installing : openblas-srpm-macros-2-12.fc37.noarch 139/151 Installing : ocaml-srpm-macros-7-2.fc37.noarch 140/151 Installing : nim-srpm-macros-3-7.fc37.noarch 141/151 Installing : kernel-srpm-macros-1.0-15.fc37.noarch 142/151 Installing : fpc-srpm-macros-1.3-6.fc37.noarch 143/151 Installing : fonts-srpm-macros-1:2.0.5-9.fc37.noarch 144/151 Installing : go-srpm-macros-3.2.0-1.fc37.noarch 145/151 Installing : python-srpm-macros-3.11-6.fc37.noarch 146/151 Installing : redhat-rpm-config-229-1.fc37.noarch 147/151 Installing : rpm-build-4.18.1-2.fc37.s390x 148/151 Installing : util-linux-2.38.1-1.fc37.s390x 149/151 Installing : which-2.21-39.fc37.s390x 150/151 Installing : info-6.8-4.fc37.s390x 151/151 Running scriptlet: filesystem-3.18-2.fc37.s390x 151/151 Running scriptlet: ca-certificates-2023.2.60-1.0.fc37.noarch 151/151 Running scriptlet: authselect-libs-1.4.2-1.fc37.s390x 151/151 Running scriptlet: rpm-4.18.1-2.fc37.s390x 151/151 Running scriptlet: info-6.8-4.fc37.s390x 151/151 Verifying : basesystem-11-14.fc37.noarch 1/151 Verifying : bzip2-1.0.8-12.fc37.s390x 2/151 Verifying : bzip2-libs-1.0.8-12.fc37.s390x 3/151 Verifying : cpio-2.13-13.fc37.s390x 4/151 Verifying : cracklib-2.9.7-30.fc37.s390x 5/151 Verifying : crypto-policies-20220815-1.gite4ed860.fc37.noarc 6/151 Verifying : cyrus-sasl-lib-2.1.28-8.fc37.s390x 7/151 Verifying : diffutils-3.8-3.fc37.s390x 8/151 Verifying : dwz-0.14-7.fc37.s390x 9/151 Verifying : ed-1.18-2.fc37.s390x 10/151 Verifying : efi-srpm-macros-5-6.fc37.noarch 11/151 Verifying : file-5.42-4.fc37.s390x 12/151 Verifying : file-libs-5.42-4.fc37.s390x 13/151 Verifying : filesystem-3.18-2.fc37.s390x 14/151 Verifying : findutils-1:4.9.0-2.fc37.s390x 15/151 Verifying : fonts-srpm-macros-1:2.0.5-9.fc37.noarch 16/151 Verifying : fpc-srpm-macros-1.3-6.fc37.noarch 17/151 Verifying : gawk-5.1.1-4.fc37.s390x 18/151 Verifying : gdbm-libs-1:1.23-2.fc37.s390x 19/151 Verifying : gmp-1:6.2.1-3.fc37.s390x 20/151 Verifying : go-srpm-macros-3.2.0-1.fc37.noarch 21/151 Verifying : grep-3.7-4.fc37.s390x 22/151 Verifying : gzip-1.12-2.fc37.s390x 23/151 Verifying : info-6.8-4.fc37.s390x 24/151 Verifying : kernel-srpm-macros-1.0-15.fc37.noarch 25/151 Verifying : keyutils-libs-1.6.1-5.fc37.s390x 26/151 Verifying : libacl-2.3.1-4.fc37.s390x 27/151 Verifying : libattr-2.5.1-5.fc37.s390x 28/151 Verifying : libblkid-2.38.1-1.fc37.s390x 29/151 Verifying : libbrotli-1.0.9-9.fc37.s390x 30/151 Verifying : libcap-2.48-5.fc37.s390x 31/151 Verifying : libcap-ng-0.8.3-3.fc37.s390x 32/151 Verifying : libcom_err-1.46.5-3.fc37.s390x 33/151 Verifying : libdb-5.3.28-53.fc37.s390x 34/151 Verifying : libeconf-0.4.0-4.fc37.s390x 35/151 Verifying : libevent-2.1.12-7.fc37.s390x 36/151 Verifying : libfdisk-2.38.1-1.fc37.s390x 37/151 Verifying : libmount-2.38.1-1.fc37.s390x 38/151 Verifying : libnsl2-2.0.0-4.fc37.s390x 39/151 Verifying : libpkgconf-1.8.0-3.fc37.s390x 40/151 Verifying : libpsl-0.21.1-6.fc37.s390x 41/151 Verifying : libsigsegv-2.14-3.fc37.s390x 42/151 Verifying : libsmartcols-2.38.1-1.fc37.s390x 43/151 Verifying : libunistring-1.0-2.fc37.s390x 44/151 Verifying : libutempter-1.2.1-7.fc37.s390x 45/151 Verifying : libuuid-2.38.1-1.fc37.s390x 46/151 Verifying : libverto-0.3.2-4.fc37.s390x 47/151 Verifying : lua-srpm-macros-1-7.fc37.noarch 48/151 Verifying : mpfr-4.1.0-10.fc37.s390x 49/151 Verifying : nim-srpm-macros-3-7.fc37.noarch 50/151 Verifying : ocaml-srpm-macros-7-2.fc37.noarch 51/151 Verifying : openblas-srpm-macros-2-12.fc37.noarch 52/151 Verifying : p11-kit-0.24.1-3.fc37.s390x 53/151 Verifying : p11-kit-trust-0.24.1-3.fc37.s390x 54/151 Verifying : pam-1.5.2-14.fc37.s390x 55/151 Verifying : pam-libs-1.5.2-14.fc37.s390x 56/151 Verifying : patch-2.7.6-17.fc37.s390x 57/151 Verifying : pcre-8.45-1.fc37.2.s390x 58/151 Verifying : pcre2-10.40-1.fc37.1.s390x 59/151 Verifying : pcre2-syntax-10.40-1.fc37.1.noarch 60/151 Verifying : perl-srpm-macros-1-46.fc37.noarch 61/151 Verifying : pkgconf-1.8.0-3.fc37.s390x 62/151 Verifying : pkgconf-m4-1.8.0-3.fc37.noarch 63/151 Verifying : pkgconf-pkg-config-1.8.0-3.fc37.s390x 64/151 Verifying : popt-1.19-1.fc37.s390x 65/151 Verifying : sed-4.8-11.fc37.s390x 66/151 Verifying : setup-2.14.1-2.fc37.noarch 67/151 Verifying : unzip-6.0-58.fc37.s390x 68/151 Verifying : util-linux-2.38.1-1.fc37.s390x 69/151 Verifying : util-linux-core-2.38.1-1.fc37.s390x 70/151 Verifying : xxhash-libs-0.8.1-3.fc37.s390x 71/151 Verifying : zip-3.0-33.fc37.s390x 72/151 Verifying : zlib-1.2.12-5.fc37.s390x 73/151 Verifying : alternatives-1.24-1.fc37.s390x 74/151 Verifying : ansible-srpm-macros-1-10.fc37.noarch 75/151 Verifying : audit-libs-3.1.1-1.fc37.s390x 76/151 Verifying : authselect-1.4.2-1.fc37.s390x 77/151 Verifying : authselect-libs-1.4.2-1.fc37.s390x 78/151 Verifying : bash-5.2.15-1.fc37.s390x 79/151 Verifying : binutils-2.38-27.fc37.s390x 80/151 Verifying : binutils-gold-2.38-27.fc37.s390x 81/151 Verifying : ca-certificates-2023.2.60-1.0.fc37.noarch 82/151 Verifying : coreutils-9.1-8.fc37.s390x 83/151 Verifying : coreutils-common-9.1-8.fc37.s390x 84/151 Verifying : curl-7.85.0-9.fc37.s390x 85/151 Verifying : debugedit-5.0-7.fc37.s390x 86/151 Verifying : elfutils-0.189-3.fc37.s390x 87/151 Verifying : elfutils-debuginfod-client-0.189-3.fc37.s390x 88/151 Verifying : elfutils-default-yama-scope-0.189-3.fc37.noarch 89/151 Verifying : elfutils-libelf-0.189-3.fc37.s390x 90/151 Verifying : elfutils-libs-0.189-3.fc37.s390x 91/151 Verifying : fedora-gpg-keys-37-2.noarch 92/151 Verifying : fedora-release-37-16.noarch 93/151 Verifying : fedora-release-common-37-16.noarch 94/151 Verifying : fedora-release-identity-basic-37-16.noarch 95/151 Verifying : fedora-repos-37-2.noarch 96/151 Verifying : gdb-minimal-13.2-2.fc37.s390x 97/151 Verifying : ghc-srpm-macros-1.6.1-1.fc37.noarch 98/151 Verifying : glibc-2.36-9.fc37.s390x 99/151 Verifying : glibc-common-2.36-9.fc37.s390x 100/151 Verifying : glibc-gconv-extra-2.36-9.fc37.s390x 101/151 Verifying : glibc-minimal-langpack-2.36-9.fc37.s390x 102/151 Verifying : gnat-srpm-macros-5-1.fc37.noarch 103/151 Verifying : krb5-libs-1.19.2-13.fc37.s390x 104/151 Verifying : libarchive-3.6.1-3.fc37.s390x 105/151 Verifying : libcurl-7.85.0-9.fc37.s390x 106/151 Verifying : libffi-3.4.4-1.fc37.s390x 107/151 Verifying : libgcc-12.3.1-1.fc37.s390x 108/151 Verifying : libgomp-12.3.1-1.fc37.s390x 109/151 Verifying : libidn2-2.3.4-1.fc37.s390x 110/151 Verifying : libnghttp2-1.51.0-1.fc37.s390x 111/151 Verifying : libpwquality-1.4.5-3.fc37.s390x 112/151 Verifying : libselinux-3.5-1.fc37.s390x 113/151 Verifying : libsemanage-3.5-2.fc37.s390x 114/151 Verifying : libsepol-3.5-1.fc37.s390x 115/151 Verifying : libssh-0.10.5-1.fc37.s390x 116/151 Verifying : libssh-config-0.10.5-1.fc37.noarch 117/151 Verifying : libstdc++-12.3.1-1.fc37.s390x 118/151 Verifying : libtasn1-4.19.0-1.fc37.s390x 119/151 Verifying : libtirpc-1.3.3-1.rc1.fc37.s390x 120/151 Verifying : libxcrypt-4.4.36-1.fc37.s390x 121/151 Verifying : libxml2-2.10.4-1.fc37.s390x 122/151 Verifying : libzstd-1.5.5-1.fc37.s390x 123/151 Verifying : lua-libs-5.4.4-9.fc37.s390x 124/151 Verifying : lz4-libs-1.9.4-1.fc37.s390x 125/151 Verifying : ncurses-base-6.4-3.20230114.fc37.noarch 126/151 Verifying : ncurses-libs-6.4-3.20230114.fc37.s390x 127/151 Verifying : openldap-2.6.4-1.fc37.s390x 128/151 Verifying : openssl-libs-1:3.0.9-1.fc37.s390x 129/151 Verifying : package-notes-srpm-macros-0.5-7.fc37.noarch 130/151 Verifying : publicsuffix-list-dafsa-20230614-1.fc37.noarch 131/151 Verifying : pyproject-srpm-macros-1.9.0-1.fc37.noarch 132/151 Verifying : python-srpm-macros-3.11-6.fc37.noarch 133/151 Verifying : qt5-srpm-macros-5.15.9-1.fc37.noarch 134/151 Verifying : readline-8.2-2.fc37.s390x 135/151 Verifying : redhat-rpm-config-229-1.fc37.noarch 136/151 Verifying : rpm-4.18.1-2.fc37.s390x 137/151 Verifying : rpm-build-4.18.1-2.fc37.s390x 138/151 Verifying : rpm-build-libs-4.18.1-2.fc37.s390x 139/151 Verifying : rpm-libs-4.18.1-2.fc37.s390x 140/151 Verifying : rpmautospec-rpm-macros-0.3.5-1.fc37.noarch 141/151 Verifying : rust-srpm-macros-24-2.fc37.noarch 142/151 Verifying : shadow-utils-2:4.12.3-6.fc37.s390x 143/151 Verifying : sqlite-libs-3.40.0-1.fc37.s390x 144/151 Verifying : systemd-libs-251.14-2.fc37.s390x 145/151 Verifying : tar-2:1.34-6.fc37.s390x 146/151 Verifying : tzdata-2023c-1.fc37.noarch 147/151 Verifying : which-2.21-39.fc37.s390x 148/151 Verifying : xz-5.4.1-1.fc37.s390x 149/151 Verifying : xz-libs-5.4.1-1.fc37.s390x 150/151 Verifying : zstd-1.5.5-1.fc37.s390x 151/151 Installed products updated. Installed: alternatives-1.24-1.fc37.s390x ansible-srpm-macros-1-10.fc37.noarch audit-libs-3.1.1-1.fc37.s390x authselect-1.4.2-1.fc37.s390x authselect-libs-1.4.2-1.fc37.s390x basesystem-11-14.fc37.noarch bash-5.2.15-1.fc37.s390x binutils-2.38-27.fc37.s390x binutils-gold-2.38-27.fc37.s390x bzip2-1.0.8-12.fc37.s390x bzip2-libs-1.0.8-12.fc37.s390x ca-certificates-2023.2.60-1.0.fc37.noarch coreutils-9.1-8.fc37.s390x coreutils-common-9.1-8.fc37.s390x cpio-2.13-13.fc37.s390x cracklib-2.9.7-30.fc37.s390x crypto-policies-20220815-1.gite4ed860.fc37.noarch curl-7.85.0-9.fc37.s390x cyrus-sasl-lib-2.1.28-8.fc37.s390x debugedit-5.0-7.fc37.s390x diffutils-3.8-3.fc37.s390x dwz-0.14-7.fc37.s390x ed-1.18-2.fc37.s390x efi-srpm-macros-5-6.fc37.noarch elfutils-0.189-3.fc37.s390x elfutils-debuginfod-client-0.189-3.fc37.s390x elfutils-default-yama-scope-0.189-3.fc37.noarch elfutils-libelf-0.189-3.fc37.s390x elfutils-libs-0.189-3.fc37.s390x fedora-gpg-keys-37-2.noarch fedora-release-37-16.noarch fedora-release-common-37-16.noarch fedora-release-identity-basic-37-16.noarch fedora-repos-37-2.noarch file-5.42-4.fc37.s390x file-libs-5.42-4.fc37.s390x filesystem-3.18-2.fc37.s390x findutils-1:4.9.0-2.fc37.s390x fonts-srpm-macros-1:2.0.5-9.fc37.noarch fpc-srpm-macros-1.3-6.fc37.noarch gawk-5.1.1-4.fc37.s390x gdb-minimal-13.2-2.fc37.s390x gdbm-libs-1:1.23-2.fc37.s390x ghc-srpm-macros-1.6.1-1.fc37.noarch glibc-2.36-9.fc37.s390x glibc-common-2.36-9.fc37.s390x glibc-gconv-extra-2.36-9.fc37.s390x glibc-minimal-langpack-2.36-9.fc37.s390x gmp-1:6.2.1-3.fc37.s390x gnat-srpm-macros-5-1.fc37.noarch go-srpm-macros-3.2.0-1.fc37.noarch grep-3.7-4.fc37.s390x gzip-1.12-2.fc37.s390x info-6.8-4.fc37.s390x kernel-srpm-macros-1.0-15.fc37.noarch keyutils-libs-1.6.1-5.fc37.s390x krb5-libs-1.19.2-13.fc37.s390x libacl-2.3.1-4.fc37.s390x libarchive-3.6.1-3.fc37.s390x libattr-2.5.1-5.fc37.s390x libblkid-2.38.1-1.fc37.s390x libbrotli-1.0.9-9.fc37.s390x libcap-2.48-5.fc37.s390x libcap-ng-0.8.3-3.fc37.s390x libcom_err-1.46.5-3.fc37.s390x libcurl-7.85.0-9.fc37.s390x libdb-5.3.28-53.fc37.s390x libeconf-0.4.0-4.fc37.s390x libevent-2.1.12-7.fc37.s390x libfdisk-2.38.1-1.fc37.s390x libffi-3.4.4-1.fc37.s390x libgcc-12.3.1-1.fc37.s390x libgomp-12.3.1-1.fc37.s390x libidn2-2.3.4-1.fc37.s390x libmount-2.38.1-1.fc37.s390x libnghttp2-1.51.0-1.fc37.s390x libnsl2-2.0.0-4.fc37.s390x libpkgconf-1.8.0-3.fc37.s390x libpsl-0.21.1-6.fc37.s390x libpwquality-1.4.5-3.fc37.s390x libselinux-3.5-1.fc37.s390x libsemanage-3.5-2.fc37.s390x libsepol-3.5-1.fc37.s390x libsigsegv-2.14-3.fc37.s390x libsmartcols-2.38.1-1.fc37.s390x libssh-0.10.5-1.fc37.s390x libssh-config-0.10.5-1.fc37.noarch libstdc++-12.3.1-1.fc37.s390x libtasn1-4.19.0-1.fc37.s390x libtirpc-1.3.3-1.rc1.fc37.s390x libunistring-1.0-2.fc37.s390x libutempter-1.2.1-7.fc37.s390x libuuid-2.38.1-1.fc37.s390x libverto-0.3.2-4.fc37.s390x libxcrypt-4.4.36-1.fc37.s390x libxml2-2.10.4-1.fc37.s390x libzstd-1.5.5-1.fc37.s390x lua-libs-5.4.4-9.fc37.s390x lua-srpm-macros-1-7.fc37.noarch lz4-libs-1.9.4-1.fc37.s390x mpfr-4.1.0-10.fc37.s390x ncurses-base-6.4-3.20230114.fc37.noarch ncurses-libs-6.4-3.20230114.fc37.s390x nim-srpm-macros-3-7.fc37.noarch ocaml-srpm-macros-7-2.fc37.noarch openblas-srpm-macros-2-12.fc37.noarch openldap-2.6.4-1.fc37.s390x openssl-libs-1:3.0.9-1.fc37.s390x p11-kit-0.24.1-3.fc37.s390x p11-kit-trust-0.24.1-3.fc37.s390x package-notes-srpm-macros-0.5-7.fc37.noarch pam-1.5.2-14.fc37.s390x pam-libs-1.5.2-14.fc37.s390x patch-2.7.6-17.fc37.s390x pcre-8.45-1.fc37.2.s390x pcre2-10.40-1.fc37.1.s390x pcre2-syntax-10.40-1.fc37.1.noarch perl-srpm-macros-1-46.fc37.noarch pkgconf-1.8.0-3.fc37.s390x pkgconf-m4-1.8.0-3.fc37.noarch pkgconf-pkg-config-1.8.0-3.fc37.s390x popt-1.19-1.fc37.s390x publicsuffix-list-dafsa-20230614-1.fc37.noarch pyproject-srpm-macros-1.9.0-1.fc37.noarch python-srpm-macros-3.11-6.fc37.noarch qt5-srpm-macros-5.15.9-1.fc37.noarch readline-8.2-2.fc37.s390x redhat-rpm-config-229-1.fc37.noarch rpm-4.18.1-2.fc37.s390x rpm-build-4.18.1-2.fc37.s390x rpm-build-libs-4.18.1-2.fc37.s390x rpm-libs-4.18.1-2.fc37.s390x rpmautospec-rpm-macros-0.3.5-1.fc37.noarch rust-srpm-macros-24-2.fc37.noarch sed-4.8-11.fc37.s390x setup-2.14.1-2.fc37.noarch shadow-utils-2:4.12.3-6.fc37.s390x sqlite-libs-3.40.0-1.fc37.s390x systemd-libs-251.14-2.fc37.s390x tar-2:1.34-6.fc37.s390x tzdata-2023c-1.fc37.noarch unzip-6.0-58.fc37.s390x util-linux-2.38.1-1.fc37.s390x util-linux-core-2.38.1-1.fc37.s390x which-2.21-39.fc37.s390x xxhash-libs-0.8.1-3.fc37.s390x xz-5.4.1-1.fc37.s390x xz-libs-5.4.1-1.fc37.s390x zip-3.0-33.fc37.s390x zlib-1.2.12-5.fc37.s390x zstd-1.5.5-1.fc37.s390x Complete! Finish: installing minimal buildroot with dnf Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: libmount-2.38.1-1.fc37.s390x libgomp-12.3.1-1.fc37.s390x pam-1.5.2-14.fc37.s390x binutils-gold-2.38-27.fc37.s390x rpm-build-4.18.1-2.fc37.s390x which-2.21-39.fc37.s390x file-5.42-4.fc37.s390x authselect-libs-1.4.2-1.fc37.s390x libevent-2.1.12-7.fc37.s390x cyrus-sasl-lib-2.1.28-8.fc37.s390x libstdc++-12.3.1-1.fc37.s390x audit-libs-3.1.1-1.fc37.s390x gpg-pubkey-5323552a-6112bcdc libsepol-3.5-1.fc37.s390x openldap-2.6.4-1.fc37.s390x fedora-release-identity-basic-37-16.noarch binutils-2.38-27.fc37.s390x libcurl-7.85.0-9.fc37.s390x curl-7.85.0-9.fc37.s390x sqlite-libs-3.40.0-1.fc37.s390x libsmartcols-2.38.1-1.fc37.s390x openblas-srpm-macros-2-12.fc37.noarch libattr-2.5.1-5.fc37.s390x xz-libs-5.4.1-1.fc37.s390x mpfr-4.1.0-10.fc37.s390x sed-4.8-11.fc37.s390x shadow-utils-4.12.3-6.fc37.s390x libssh-0.10.5-1.fc37.s390x crypto-policies-20220815-1.gite4ed860.fc37.noarch perl-srpm-macros-1-46.fc37.noarch libpkgconf-1.8.0-3.fc37.s390x elfutils-libs-0.189-3.fc37.s390x libverto-0.3.2-4.fc37.s390x glibc-2.36-9.fc37.s390x gmp-6.2.1-3.fc37.s390x fedora-repos-37-2.noarch libffi-3.4.4-1.fc37.s390x libselinux-3.5-1.fc37.s390x elfutils-debuginfod-client-0.189-3.fc37.s390x pcre2-syntax-10.40-1.fc37.1.noarch filesystem-3.18-2.fc37.s390x libsemanage-3.5-2.fc37.s390x glibc-minimal-langpack-2.36-9.fc37.s390x rpmautospec-rpm-macros-0.3.5-1.fc37.noarch libnsl2-2.0.0-4.fc37.s390x libcap-ng-0.8.3-3.fc37.s390x libbrotli-1.0.9-9.fc37.s390x systemd-libs-251.14-2.fc37.s390x libxcrypt-4.4.36-1.fc37.s390x libpwquality-1.4.5-3.fc37.s390x ca-certificates-2023.2.60-1.0.fc37.noarch libtirpc-1.3.3-1.rc1.fc37.s390x dwz-0.14-7.fc37.s390x fpc-srpm-macros-1.3-6.fc37.noarch openssl-libs-3.0.9-1.fc37.s390x kernel-srpm-macros-1.0-15.fc37.noarch libzstd-1.5.5-1.fc37.s390x basesystem-11-14.fc37.noarch libssh-config-0.10.5-1.fc37.noarch libtasn1-4.19.0-1.fc37.s390x unzip-6.0-58.fc37.s390x zstd-1.5.5-1.fc37.s390x libunistring-1.0-2.fc37.s390x gawk-5.1.1-4.fc37.s390x rpm-4.18.1-2.fc37.s390x bzip2-1.0.8-12.fc37.s390x tzdata-2023c-1.fc37.noarch libuuid-2.38.1-1.fc37.s390x nim-srpm-macros-3-7.fc37.noarch python-srpm-macros-3.11-6.fc37.noarch gdb-minimal-13.2-2.fc37.s390x go-srpm-macros-3.2.0-1.fc37.noarch ncurses-base-6.4-3.20230114.fc37.noarch xxhash-libs-0.8.1-3.fc37.s390x qt5-srpm-macros-5.15.9-1.fc37.noarch gdbm-libs-1.23-2.fc37.s390x lua-srpm-macros-1-7.fc37.noarch fedora-gpg-keys-37-2.noarch libsigsegv-2.14-3.fc37.s390x libcom_err-1.46.5-3.fc37.s390x gnat-srpm-macros-5-1.fc37.noarch popt-1.19-1.fc37.s390x grep-3.7-4.fc37.s390x tar-1.34-6.fc37.s390x elfutils-libelf-0.189-3.fc37.s390x lua-libs-5.4.4-9.fc37.s390x zlib-1.2.12-5.fc37.s390x zip-3.0-33.fc37.s390x bzip2-libs-1.0.8-12.fc37.s390x file-libs-5.42-4.fc37.s390x libxml2-2.10.4-1.fc37.s390x ocaml-srpm-macros-7-2.fc37.noarch util-linux-core-2.38.1-1.fc37.s390x p11-kit-trust-0.24.1-3.fc37.s390x pkgconf-pkg-config-1.8.0-3.fc37.s390x glibc-gconv-extra-2.36-9.fc37.s390x p11-kit-0.24.1-3.fc37.s390x ed-1.18-2.fc37.s390x util-linux-2.38.1-1.fc37.s390x elfutils-default-yama-scope-0.189-3.fc37.noarch readline-8.2-2.fc37.s390x pyproject-srpm-macros-1.9.0-1.fc37.noarch rpm-libs-4.18.1-2.fc37.s390x libdb-5.3.28-53.fc37.s390x elfutils-0.189-3.fc37.s390x krb5-libs-1.19.2-13.fc37.s390x libnghttp2-1.51.0-1.fc37.s390x pkgconf-1.8.0-3.fc37.s390x findutils-4.9.0-2.fc37.s390x publicsuffix-list-dafsa-20230614-1.fc37.noarch package-notes-srpm-macros-0.5-7.fc37.noarch diffutils-3.8-3.fc37.s390x pcre2-10.40-1.fc37.1.s390x fonts-srpm-macros-2.0.5-9.fc37.noarch cracklib-2.9.7-30.fc37.s390x debugedit-5.0-7.fc37.s390x pcre-8.45-1.fc37.2.s390x lz4-libs-1.9.4-1.fc37.s390x libacl-2.3.1-4.fc37.s390x rpm-build-libs-4.18.1-2.fc37.s390x efi-srpm-macros-5-6.fc37.noarch libidn2-2.3.4-1.fc37.s390x coreutils-9.1-8.fc37.s390x fedora-release-37-16.noarch libfdisk-2.38.1-1.fc37.s390x libutempter-1.2.1-7.fc37.s390x redhat-rpm-config-229-1.fc37.noarch cpio-2.13-13.fc37.s390x libpsl-0.21.1-6.fc37.s390x coreutils-common-9.1-8.fc37.s390x patch-2.7.6-17.fc37.s390x keyutils-libs-1.6.1-5.fc37.s390x setup-2.14.1-2.fc37.noarch libarchive-3.6.1-3.fc37.s390x libgcc-12.3.1-1.fc37.s390x glibc-common-2.36-9.fc37.s390x ansible-srpm-macros-1-10.fc37.noarch gzip-1.12-2.fc37.s390x pkgconf-m4-1.8.0-3.fc37.noarch libblkid-2.38.1-1.fc37.s390x rust-srpm-macros-24-2.fc37.noarch bash-5.2.15-1.fc37.s390x libeconf-0.4.0-4.fc37.s390x pam-libs-1.5.2-14.fc37.s390x alternatives-1.24-1.fc37.s390x info-6.8-4.fc37.s390x fedora-release-common-37-16.noarch xz-5.4.1-1.fc37.s390x libcap-2.48-5.fc37.s390x authselect-1.4.2-1.fc37.s390x ncurses-libs-6.4-3.20230114.fc37.s390x ghc-srpm-macros-1.6.1-1.fc37.noarch Start: buildsrpm Start: rpmbuild -bs Building target platforms: s390x Building for target s390x setting SOURCE_DATE_EPOCH=1689984000 Wrote: /builddir/build/SRPMS/seabios-1.16.2-2.fc37.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 3 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-37-s390x-1690460661.666088/root/var/log/dnf.rpm.log /var/lib/mock/fedora-37-s390x-1690460661.666088/root/var/log/dnf.librepo.log /var/lib/mock/fedora-37-s390x-1690460661.666088/root/var/log/dnf.log Finish: buildsrpm INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-s1uzksqm/seabios/seabios.spec) Config(child) 1 minutes 28 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot Finish: run Running (timeout=18000): unbuffer mock --rebuild /var/lib/copr-rpmbuild/results/seabios-1.16.2-2.fc37.src.rpm --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1690460661.666088 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 4.1 starting (python version = 3.11.3, NVR = mock-4.1-1.fc38)... Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/var/lib/copr-rpmbuild/results/seabios-1.16.2-2.fc37.src.rpm) Config(fedora-37-s390x) Start: clean chroot Finish: clean chroot Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-37-s390x-1690460661.666088/root. INFO: calling preinit hooks INFO: enabled root cache Start: unpacking root cache Finish: unpacking root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin Mock Version: 4.1 INFO: Mock Version: 4.1 INFO: Package manager dnf detected and used (fallback) Start: dnf update No matches found for the following disable plugin patterns: local, spacewalk, versionlock Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. Copr repository 3.4 kB/s | 2.1 kB 00:00 fedora 914 B/s | 4.6 kB 00:05 updates 12 kB/s | 5.3 kB 00:00 Dependencies resolved. Nothing to do. Complete! Finish: dnf update Finish: chroot init Start: build phase for seabios-1.16.2-2.fc37.src.rpm Start: build setup for seabios-1.16.2-2.fc37.src.rpm Building target platforms: s390x Building for target s390x setting SOURCE_DATE_EPOCH=1689984000 Wrote: /builddir/build/SRPMS/seabios-1.16.2-2.fc37.src.rpm No matches found for the following disable plugin patterns: local, spacewalk, versionlock Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. Copr repository 3.5 kB/s | 2.1 kB 00:00 fedora 840 B/s | 4.6 kB 00:05 updates 972 B/s | 5.3 kB 00:05 Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: binutils-x86_64-linux-gnu s390x 2.38-5.fc37 updates 2.5 M gcc s390x 12.3.1-1.fc37 updates 26 M gcc-x86_64-linux-gnu s390x 12.2.1-2.fc37 updates 31 M make s390x 1:4.3-11.fc37 fedora 536 k python3 s390x 3.11.4-1.fc37 updates 28 k Installing dependencies: annobin-docs noarch 12.14-1.fc37 updates 93 k annobin-plugin-gcc s390x 12.14-1.fc37 updates 890 k cpp s390x 12.3.1-1.fc37 updates 7.7 M cross-binutils-common noarch 2.38-5.fc37 updates 2.2 M cross-gcc-common noarch 12.2.1-2.fc37 updates 2.3 M expat s390x 2.5.0-1.fc37 updates 107 k gc s390x 8.0.6-4.fc37 fedora 98 k gcc-plugin-annobin s390x 12.3.1-1.fc37 updates 57 k glibc-devel s390x 2.36-9.fc37 updates 110 k glibc-headers-s390 noarch 2.36-9.fc37 updates 572 k gmp-c++ s390x 1:6.2.1-3.fc37 fedora 18 k gmp-devel s390x 1:6.2.1-3.fc37 fedora 175 k guile22 s390x 2.2.7-6.fc37 fedora 6.5 M isl s390x 0.16.1-16.fc37 fedora 844 k kernel-headers s390x 6.4.4-100.fc37 updates 1.5 M libasan s390x 12.3.1-1.fc37 updates 429 k libatomic s390x 12.3.1-1.fc37 updates 46 k libb2 s390x 0.98.1-7.fc37 fedora 26 k libmpc s390x 1.2.1-5.fc37 fedora 61 k libmpc-devel s390x 1.2.1-5.fc37 fedora 11 k libtool-ltdl s390x 2.4.7-2.fc37 fedora 36 k libubsan s390x 12.3.1-1.fc37 updates 198 k libxcrypt-devel s390x 4.4.36-1.fc37 updates 29 k mpdecimal s390x 2.5.1-4.fc37 fedora 104 k mpfr-devel s390x 4.1.0-10.fc37 fedora 21 k python-pip-wheel noarch 22.2.2-3.fc37 updates 1.4 M python-setuptools-wheel noarch 62.6.0-3.fc37 updates 711 k python3-libs s390x 3.11.4-1.fc37 updates 9.5 M Transaction Summary ================================================================================ Install 33 Packages Total download size: 95 M Installed size: 355 M Downloading Packages: (1/33): gmp-c++-6.2.1-3.fc37.s390x.rpm 27 kB/s | 18 kB 00:00 (2/33): gc-8.0.6-4.fc37.s390x.rpm 20 kB/s | 98 kB 00:05 (3/33): gmp-devel-6.2.1-3.fc37.s390x.rpm 35 kB/s | 175 kB 00:05 (4/33): libb2-0.98.1-7.fc37.s390x.rpm 66 kB/s | 26 kB 00:00 (5/33): libmpc-1.2.1-5.fc37.s390x.rpm 165 kB/s | 61 kB 00:00 (6/33): libmpc-devel-1.2.1-5.fc37.s390x.rpm 57 kB/s | 11 kB 00:00 (7/33): isl-0.16.1-16.fc37.s390x.rpm 757 kB/s | 844 kB 00:01 (8/33): libtool-ltdl-2.4.7-2.fc37.s390x.rpm 169 kB/s | 36 kB 00:00 (9/33): make-4.3-11.fc37.s390x.rpm 1.9 MB/s | 536 kB 00:00 (10/33): mpdecimal-2.5.1-4.fc37.s390x.rpm 285 kB/s | 104 kB 00:00 (11/33): mpfr-devel-4.1.0-10.fc37.s390x.rpm 109 kB/s | 21 kB 00:00 (12/33): guile22-2.2.7-6.fc37.s390x.rpm 1.1 MB/s | 6.5 MB 00:05 (13/33): annobin-docs-12.14-1.fc37.noarch.rpm 101 kB/s | 93 kB 00:00 (14/33): annobin-plugin-gcc-12.14-1.fc37.s390x. 581 kB/s | 890 kB 00:01 (15/33): binutils-x86_64-linux-gnu-2.38-5.fc37. 1.4 MB/s | 2.5 MB 00:01 (16/33): cross-binutils-common-2.38-5.fc37.noar 3.8 MB/s | 2.2 MB 00:00 (17/33): cross-gcc-common-12.2.1-2.fc37.noarch. 6.7 MB/s | 2.3 MB 00:00 (18/33): expat-2.5.0-1.fc37.s390x.rpm 563 kB/s | 107 kB 00:00 (19/33): cpp-12.3.1-1.fc37.s390x.rpm 5.3 MB/s | 7.7 MB 00:01 (20/33): gcc-plugin-annobin-12.3.1-1.fc37.s390x 307 kB/s | 57 kB 00:00 (21/33): glibc-devel-2.36-9.fc37.s390x.rpm 579 kB/s | 110 kB 00:00 (22/33): glibc-headers-s390-2.36-9.fc37.noarch. 2.5 MB/s | 572 kB 00:00 (23/33): kernel-headers-6.4.4-100.fc37.s390x.rp 5.4 MB/s | 1.5 MB 00:00 (24/33): libasan-12.3.1-1.fc37.s390x.rpm 2.0 MB/s | 429 kB 00:00 (25/33): libatomic-12.3.1-1.fc37.s390x.rpm 249 kB/s | 46 kB 00:00 (26/33): libubsan-12.3.1-1.fc37.s390x.rpm 1.0 MB/s | 198 kB 00:00 (27/33): libxcrypt-devel-4.4.36-1.fc37.s390x.rp 159 kB/s | 29 kB 00:00 (28/33): gcc-12.3.1-1.fc37.s390x.rpm 14 MB/s | 26 MB 00:01 (29/33): python-pip-wheel-22.2.2-3.fc37.noarch. 5.2 MB/s | 1.4 MB 00:00 (30/33): python-setuptools-wheel-62.6.0-3.fc37. 3.6 MB/s | 711 kB 00:00 (31/33): python3-3.11.4-1.fc37.s390x.rpm 151 kB/s | 28 kB 00:00 (32/33): gcc-x86_64-linux-gnu-12.2.1-2.fc37.s39 14 MB/s | 31 MB 00:02 (33/33): python3-libs-3.11.4-1.fc37.s390x.rpm 13 MB/s | 9.5 MB 00:00 -------------------------------------------------------------------------------- Total 7.3 MB/s | 95 MB 00:13 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : libmpc-1.2.1-5.fc37.s390x 1/33 Installing : cpp-12.3.1-1.fc37.s390x 2/33 Installing : python-setuptools-wheel-62.6.0-3.fc37.noarch 3/33 Installing : python-pip-wheel-22.2.2-3.fc37.noarch 4/33 Installing : libubsan-12.3.1-1.fc37.s390x 5/33 Installing : libatomic-12.3.1-1.fc37.s390x 6/33 Installing : libasan-12.3.1-1.fc37.s390x 7/33 Installing : kernel-headers-6.4.4-100.fc37.s390x 8/33 Installing : glibc-headers-s390-2.36-9.fc37.noarch 9/33 Installing : libxcrypt-devel-4.4.36-1.fc37.s390x 10/33 Installing : glibc-devel-2.36-9.fc37.s390x 11/33 Installing : expat-2.5.0-1.fc37.s390x 12/33 Installing : cross-gcc-common-12.2.1-2.fc37.noarch 13/33 Installing : cross-binutils-common-2.38-5.fc37.noarch 14/33 Installing : binutils-x86_64-linux-gnu-2.38-5.fc37.s390x 15/33 Installing : annobin-docs-12.14-1.fc37.noarch 16/33 Installing : mpdecimal-2.5.1-4.fc37.s390x 17/33 Installing : libtool-ltdl-2.4.7-2.fc37.s390x 18/33 Installing : libb2-0.98.1-7.fc37.s390x 19/33 Installing : python3-3.11.4-1.fc37.s390x 20/33 Installing : python3-libs-3.11.4-1.fc37.s390x 21/33 Installing : isl-0.16.1-16.fc37.s390x 22/33 Installing : gmp-c++-1:6.2.1-3.fc37.s390x 23/33 Installing : gmp-devel-1:6.2.1-3.fc37.s390x 24/33 Installing : mpfr-devel-4.1.0-10.fc37.s390x 25/33 Installing : libmpc-devel-1.2.1-5.fc37.s390x 26/33 Installing : gc-8.0.6-4.fc37.s390x 27/33 Installing : guile22-2.2.7-6.fc37.s390x 28/33 Installing : make-1:4.3-11.fc37.s390x 29/33 Installing : gcc-12.3.1-1.fc37.s390x 30/33 Running scriptlet: gcc-12.3.1-1.fc37.s390x 30/33 Installing : annobin-plugin-gcc-12.14-1.fc37.s390x 31/33 Running scriptlet: annobin-plugin-gcc-12.14-1.fc37.s390x 31/33 Installing : gcc-plugin-annobin-12.3.1-1.fc37.s390x 32/33 Installing : gcc-x86_64-linux-gnu-12.2.1-2.fc37.s390x 33/33 Running scriptlet: gcc-x86_64-linux-gnu-12.2.1-2.fc37.s390x 33/33 Verifying : gc-8.0.6-4.fc37.s390x 1/33 Verifying : gmp-c++-1:6.2.1-3.fc37.s390x 2/33 Verifying : gmp-devel-1:6.2.1-3.fc37.s390x 3/33 Verifying : guile22-2.2.7-6.fc37.s390x 4/33 Verifying : isl-0.16.1-16.fc37.s390x 5/33 Verifying : libb2-0.98.1-7.fc37.s390x 6/33 Verifying : libmpc-1.2.1-5.fc37.s390x 7/33 Verifying : libmpc-devel-1.2.1-5.fc37.s390x 8/33 Verifying : libtool-ltdl-2.4.7-2.fc37.s390x 9/33 Verifying : make-1:4.3-11.fc37.s390x 10/33 Verifying : mpdecimal-2.5.1-4.fc37.s390x 11/33 Verifying : mpfr-devel-4.1.0-10.fc37.s390x 12/33 Verifying : annobin-docs-12.14-1.fc37.noarch 13/33 Verifying : annobin-plugin-gcc-12.14-1.fc37.s390x 14/33 Verifying : binutils-x86_64-linux-gnu-2.38-5.fc37.s390x 15/33 Verifying : cpp-12.3.1-1.fc37.s390x 16/33 Verifying : cross-binutils-common-2.38-5.fc37.noarch 17/33 Verifying : cross-gcc-common-12.2.1-2.fc37.noarch 18/33 Verifying : expat-2.5.0-1.fc37.s390x 19/33 Verifying : gcc-12.3.1-1.fc37.s390x 20/33 Verifying : gcc-plugin-annobin-12.3.1-1.fc37.s390x 21/33 Verifying : gcc-x86_64-linux-gnu-12.2.1-2.fc37.s390x 22/33 Verifying : glibc-devel-2.36-9.fc37.s390x 23/33 Verifying : glibc-headers-s390-2.36-9.fc37.noarch 24/33 Verifying : kernel-headers-6.4.4-100.fc37.s390x 25/33 Verifying : libasan-12.3.1-1.fc37.s390x 26/33 Verifying : libatomic-12.3.1-1.fc37.s390x 27/33 Verifying : libubsan-12.3.1-1.fc37.s390x 28/33 Verifying : libxcrypt-devel-4.4.36-1.fc37.s390x 29/33 Verifying : python-pip-wheel-22.2.2-3.fc37.noarch 30/33 Verifying : python-setuptools-wheel-62.6.0-3.fc37.noarch 31/33 Verifying : python3-3.11.4-1.fc37.s390x 32/33 Verifying : python3-libs-3.11.4-1.fc37.s390x 33/33 Installed products updated. Installed: annobin-docs-12.14-1.fc37.noarch annobin-plugin-gcc-12.14-1.fc37.s390x binutils-x86_64-linux-gnu-2.38-5.fc37.s390x cpp-12.3.1-1.fc37.s390x cross-binutils-common-2.38-5.fc37.noarch cross-gcc-common-12.2.1-2.fc37.noarch expat-2.5.0-1.fc37.s390x gc-8.0.6-4.fc37.s390x gcc-12.3.1-1.fc37.s390x gcc-plugin-annobin-12.3.1-1.fc37.s390x gcc-x86_64-linux-gnu-12.2.1-2.fc37.s390x glibc-devel-2.36-9.fc37.s390x glibc-headers-s390-2.36-9.fc37.noarch gmp-c++-1:6.2.1-3.fc37.s390x gmp-devel-1:6.2.1-3.fc37.s390x guile22-2.2.7-6.fc37.s390x isl-0.16.1-16.fc37.s390x kernel-headers-6.4.4-100.fc37.s390x libasan-12.3.1-1.fc37.s390x libatomic-12.3.1-1.fc37.s390x libb2-0.98.1-7.fc37.s390x libmpc-1.2.1-5.fc37.s390x libmpc-devel-1.2.1-5.fc37.s390x libtool-ltdl-2.4.7-2.fc37.s390x libubsan-12.3.1-1.fc37.s390x libxcrypt-devel-4.4.36-1.fc37.s390x make-1:4.3-11.fc37.s390x mpdecimal-2.5.1-4.fc37.s390x mpfr-devel-4.1.0-10.fc37.s390x python-pip-wheel-22.2.2-3.fc37.noarch python-setuptools-wheel-62.6.0-3.fc37.noarch python3-3.11.4-1.fc37.s390x python3-libs-3.11.4-1.fc37.s390x Complete! Finish: build setup for seabios-1.16.2-2.fc37.src.rpm Start: rpmbuild seabios-1.16.2-2.fc37.src.rpm Building target platforms: s390x Building for target s390x setting SOURCE_DATE_EPOCH=1689984000 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.tWsWKn + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf seabios-1.16.2 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/seabios-1.16.2.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd seabios-1.16.2 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/0001-Workaround-for-a-win8.1-32-S4-resume-bug.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/0003-vgabios-Reorder-video-modes-to-work-around-a-Windows.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.pFpHvp + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules' + export FCFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd seabios-1.16.2 + export 'CFLAGS=-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection' + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection' + mkdir binaries + build_bios /builddir/build/SOURCES/config.seabios-128k bios.bin bios.bin + make clean distclean scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.2/.config # + cp /builddir/build/SOURCES/config.seabios-128k .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.2/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' + make V=1 EXTRAVERSION=-2.fc37 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' Compile checking out/src/misc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/misc.c -o out/src/misc.o In file included from src/biosvar.h:10, from src/misc.c:8: src/misc.c: In function 'handle_12': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:36:16: note: in expansion of macro 'GET_BDA' 36 | regs->ax = GET_BDA(mem_size_kb); | ^~~~~~~ src/misc.c: In function 'handle_11': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:44:16: note: in expansion of macro 'GET_BDA' 44 | regs->ax = GET_BDA(equipment_list_flags); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at src/misc.c:66:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/stacks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/stacks.c -o out/src/stacks.o Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/block.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/block.c -o out/src/block.o src/block.c: In function 'map_hd_drive': src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ^~ In file included from src/biosvar.h:10, from src/block.c:8: In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'fill_fdpt' at src/block.c:213:28, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:239:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:236:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:296:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:292:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compile checking out/src/cdrom.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cdrom.c -o out/src/cdrom.o In file included from src/biosvar.h:10, from src/cdrom.c:8: src/cdrom.c: In function 'cdrom_boot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at src/cdrom.c:242:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/disk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/disk.c -o out/src/disk.o In file included from src/biosvar.h:10, from src/disk.c:8: src/disk.c: In function '__disk_ret_unimplemented': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:45:9: note: in expansion of macro 'SET_BDA' 45 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:43:9: note: in expansion of macro 'SET_BDA' 43 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function '__disk_ret': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:31:9: note: in expansion of macro 'SET_BDA' 31 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:29:9: note: in expansion of macro 'SET_BDA' 29 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function 'disk_1308': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/disk.c:297:17: note: in expansion of macro 'GET_BDA' 297 | count = GET_BDA(hdcount); | ^~~~~~~ src/disk.c: In function 'disk_13': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:626:5: note: in expansion of macro 'SET_BDA' 626 | SET_BDA(disk_interrupt_flag, 0); | ^~~~~~~ In function 'disk_1301', inlined from 'disk_13' at src/disk.c:630:16: src/disk.c:218:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 218 | v = GET_BDA(disk_last_status); src/disk.c:216:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 216 | v = GET_BDA(floppy_last_status); src/disk.c: In function 'handle_76': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:777:5: note: in expansion of macro 'SET_BDA' 777 | SET_BDA(disk_interrupt_flag, 0xff); | ^~~~~~~ Compile checking out/src/mouse.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/mouse.c -o out/src/mouse.o In file included from src/mouse.c:8: In function 'set_equipment_flags', inlined from 'mouse_init' at src/mouse.c:23:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c207' at src/mouse.c:231:20, inlined from 'handle_15c2' at src/mouse.c:272:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c205' at src/mouse.c:162:20, inlined from 'handle_15c2' at src/mouse.c:270:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c20001' at src/mouse.c:56:20, inlined from 'mouse_15c200' at src/mouse.c:82:16, inlined from 'handle_15c2' at src/mouse.c:265:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'process_mouse' at src/mouse.c:322:20: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/kbd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/kbd.c -o out/src/kbd.o In file included from src/biosvar.h:10, from src/kbd.c:8: src/kbd.c: In function 'kbd_set_flag': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:397:18: note: in expansion of macro 'GET_BDA' 397 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:398:17: note: in expansion of macro 'GET_BDA' 398 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:407:5: note: in expansion of macro 'SET_BDA' 407 | SET_BDA(kbd_flag0, flags0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:408:5: note: in expansion of macro 'SET_BDA' 408 | SET_BDA(kbd_flag1, flags1); | ^~~~~~~ src/kbd.c: In function 'set_leds': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:230:23: note: in expansion of macro 'GET_BDA' 230 | u8 shift_flags = (GET_BDA(kbd_flag0) >> 4) & 0x07; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:231:18: note: in expansion of macro 'GET_BDA' 231 | u8 kbd_led = GET_BDA(kbd_led); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:241:5: note: in expansion of macro 'SET_BDA' 241 | SET_BDA(kbd_led, kbd_led); | ^~~~~~~ src/kbd.c: In function 'dequeue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:61:23: note: in expansion of macro 'GET_BDA' 61 | buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:62:23: note: in expansion of macro 'GET_BDA' 62 | buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:98:24: note: in expansion of macro 'GET_BDA' 98 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:99:24: note: in expansion of macro 'GET_BDA' 99 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:104:5: note: in expansion of macro 'SET_BDA' 104 | SET_BDA(kbd_buf_head, buffer_head); | ^~~~~~~ src/kbd.c: In function 'kbd_init': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ src/kbd.c: In function 'enqueue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:35:24: note: in expansion of macro 'GET_BDA' 35 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:36:24: note: in expansion of macro 'GET_BDA' 36 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:38:23: note: in expansion of macro 'GET_BDA' 38 | u16 buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:39:23: note: in expansion of macro 'GET_BDA' 39 | u16 buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:50:5: note: in expansion of macro 'SET_BDA' 50 | SET_BDA(kbd_buf_tail, buffer_tail); | ^~~~~~~ In function 'handle_1612', inlined from 'handle_16' at src/kbd.c:264:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:193:18: note: in expansion of macro 'GET_BDA' 193 | regs->ax = ((GET_BDA(kbd_flag0) & ~((KF1_RCTRL|KF1_RALT) << 8)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:194:21: note: in expansion of macro 'GET_BDA' 194 | | ((GET_BDA(kbd_flag1) & (KF1_RCTRL|KF1_RALT)) << 8)); | ^~~~~~~ In function 'handle_1602', inlined from 'handle_16' at src/kbd.c:258:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:134:16: note: in expansion of macro 'GET_BDA' 134 | regs->al = GET_BDA(kbd_flag0); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:459:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 459 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:473:9: note: in expansion of macro 'SET_BDA' 473 | SET_BDA(kbd_flag1, flags1 & ~(KF1_LAST_E0|KF1_LAST_E1)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:529:14: note: in expansion of macro 'GET_BDA' 529 | if ((GET_BDA(kbd_flag0) & (KF0_CTRLACTIVE|KF0_ALTACTIVE)) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:532:13: note: in expansion of macro 'SET_BDA' 532 | SET_BDA(soft_reset_flag, 0x1234); | ^~~~~~~ In function 'kbd_ctrl_break', inlined from '__process_key' at src/kbd.c:513:13, inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:417:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 417 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:418:5: note: in expansion of macro 'SET_BDA' 418 | SET_BDA(kbd_buf_head, buffer_start); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:419:5: note: in expansion of macro 'SET_BDA' 419 | SET_BDA(kbd_buf_tail, buffer_start+2); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:422:5: note: in expansion of macro 'SET_BDA' 422 | SET_BDA(break_flag, 0x80); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:552:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 552 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:463:9: note: in expansion of macro 'SET_BDA' 463 | SET_BDA(kbd_flag1, flags1 | eflag); | ^~~~~~~ Compile checking out/src/system.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/system.c -o out/src/system.o In file included from src/biosvar.h:10, from src/system.c:8: In function 'get_ebda_seg', inlined from 'handle_15c1' at src/system.c:255:16, inlined from 'handle_15' at src/system.c:352:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/serial.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/serial.c -o out/src/serial.o In file included from src/serial.c:8: In function 'set_equipment_flags', inlined from 'serial_setup' at src/serial.c:56:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at src/serial.c:212:14: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at src/serial.c:217:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/sercon.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sercon.c -o out/src/sercon.o Compile checking out/src/clock.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/clock.c -o out/src/clock.o In file included from src/biosvar.h:10, from src/clock.c:8: src/clock.c: In function 'clear_usertimer': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:389:11: note: in expansion of macro 'GET_BDA' 389 | if (!(GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING)) | ^~~~~~~ In function 'clear_usertimer', inlined from 'clear_usertimer' at src/clock.c:387:1: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:392:5: note: in expansion of macro 'SET_BDA' 392 | SET_BDA(rtc_wait_flag, 0); | ^~~~~~~ src/clock.c: In function 'clock_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In function 'handle_1a01', inlined from 'handle_1a' at src/clock.c:268:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(timer_counter, ticks); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:87:5: note: in expansion of macro 'SET_BDA' 87 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'handle_1a00', inlined from 'handle_1a' at src/clock.c:267:16: src/clock.c:73:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 73 | u32 ticks = GET_BDA(timer_counter); | ^~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:76:16: note: in expansion of macro 'GET_BDA' 76 | regs->al = GET_BDA(timer_rollover); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:77:5: note: in expansion of macro 'SET_BDA' 77 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'clock_update', inlined from 'handle_08' at src/clock.c:306:5: src/clock.c:284:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 284 | u32 counter = GET_BDA(timer_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:290:33: note: in expansion of macro 'GET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:292:5: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(timer_counter, counter); | ^~~~~~~ src/clock.c: In function 'handle_08': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/clock.c:312:29: note: in expansion of macro 'GET_IVT' 312 | struct segoff_s isr1c = GET_IVT(0x1c); | ^~~~~~~ src/clock.c: In function 'irqtimer_calc_ticks': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ src/clock.c: In function 'irqtimer_calc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ src/clock.c: In function 'irqtimer_check': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_1586' at src/clock.c:409:15: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:375:9: note: in expansion of macro 'GET_BDA' 375 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:379:5: note: in expansion of macro 'SET_BDA' 379 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:381:5: note: in expansion of macro 'SET_BDA' 381 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_158300' at src/clock.c:423:15, inlined from 'handle_1583' at src/clock.c:454:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:375:9: note: in expansion of macro 'GET_BDA' 375 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:379:5: note: in expansion of macro 'SET_BDA' 379 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:381:5: note: in expansion of macro 'SET_BDA' 381 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ src/clock.c: In function 'handle_70': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:490:10: note: in expansion of macro 'GET_BDA' 490 | if (!GET_BDA(rtc_wait_flag)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:494:16: note: in expansion of macro 'GET_BDA' 494 | u32 time = GET_BDA(user_wait_timeout); // Time left in microseconds. | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:507:9: note: in expansion of macro 'SET_BDA' 507 | SET_BDA(user_wait_timeout, time); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:497:34: note: in expansion of macro 'GET_BDA' 497 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:497:34: note: in expansion of macro 'GET_BDA' 497 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ Compile checking out/src/resume.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/resume.c -o out/src/resume.o Compile checking out/src/pnpbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pnpbios.c -o out/src/pnpbios.o Compile checking out/src/vgahooks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/vgahooks.c -o out/src/vgahooks.o Compile checking out/src/pcibios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pcibios.c -o out/src/pcibios.o Compile checking out/src/apm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/apm.c -o out/src/apm.o Compile checking out/src/cp437.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cp437.c -o out/src/cp437.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/timer.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/timer.c -o out/src/hw/timer.o Compile checking out/src/hw/rtc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/rtc.c -o out/src/hw/rtc.o Compile checking out/src/hw/dma.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/dma.c -o out/src/hw/dma.o Compile checking out/src/hw/pic.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pic.c -o out/src/hw/pic.o Compile checking out/src/hw/ps2port.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ps2port.c -o out/src/hw/ps2port.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/src/hw/usb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb.c -o out/src/hw/usb.o Compile checking out/src/hw/usb-uhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uhci.c -o out/src/hw/usb-uhci.o Compile checking out/src/hw/usb-ohci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ohci.c -o out/src/hw/usb-ohci.o Compile checking out/src/hw/usb-ehci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ehci.c -o out/src/hw/usb-ehci.o Compile checking out/src/hw/usb-hid.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hid.c -o out/src/hw/usb-hid.o Compile checking out/src/hw/usb-msc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-msc.c -o out/src/hw/usb-msc.o Compile checking out/src/hw/usb-uas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uas.c -o out/src/hw/usb-uas.o Compile checking out/src/hw/blockcmd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/blockcmd.c -o out/src/hw/blockcmd.o Compile checking out/src/hw/floppy.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/floppy.c -o out/src/hw/floppy.o In file included from src/biosvar.h:10, from src/hw/floppy.c:8: src/hw/floppy.c: In function 'floppy_wait_irq': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:226:14: note: in expansion of macro 'GET_BDA' 226 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:227:5: note: in expansion of macro 'SET_BDA' 227 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:235:15: note: in expansion of macro 'GET_BDA' 235 | frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:243:5: note: in expansion of macro 'SET_BDA' 243 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_drive_pio': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:372:5: note: in expansion of macro 'SET_BDA' 372 | SET_BDA(floppy_motor_counter, 255); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:387:5: note: in expansion of macro 'SET_BDA' 387 | SET_BDA(floppy_motor_counter, FLOPPY_MOTOR_TICKS); // reset motor timeout | ^~~~~~~ src/hw/floppy.c: In function 'floppy_prep': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:494:11: note: in expansion of macro 'GET_BDA' 494 | if (!(GET_BDA(floppy_recalibration_status) & (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:414:5: note: in expansion of macro 'SET_BDA' 414 | SET_BDA(floppy_recalibration_status, frs | (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:478:5: note: in expansion of macro 'SET_BDA' 478 | SET_BDA(floppy_last_data_rate, (old_data_rate<<2) | (data_rate<<6)); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_setup': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'floppy_reset', inlined from 'floppy_process_op' at src/hw/floppy.c:691:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:594:5: note: in expansion of macro 'SET_BDA' 594 | SET_BDA(floppy_recalibration_status, 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:595:5: note: in expansion of macro 'SET_BDA' 595 | SET_BDA(floppy_media_state[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:596:5: note: in expansion of macro 'SET_BDA' 596 | SET_BDA(floppy_media_state[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:597:5: note: in expansion of macro 'SET_BDA' 597 | SET_BDA(floppy_track[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:598:5: note: in expansion of macro 'SET_BDA' 598 | SET_BDA(floppy_track[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:599:5: note: in expansion of macro 'SET_BDA' 599 | SET_BDA(floppy_last_data_rate, 0); | ^~~~~~~ src/hw/floppy.c: In function 'handle_0e': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:719:14: note: in expansion of macro 'GET_BDA' 719 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:720:5: note: in expansion of macro 'SET_BDA' 720 | SET_BDA(floppy_recalibration_status, frs | FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_tick': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:733:17: note: in expansion of macro 'GET_BDA' 733 | u8 fcount = GET_BDA(floppy_motor_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:736:9: note: in expansion of macro 'SET_BDA' 736 | SET_BDA(floppy_motor_counter, fcount); | ^~~~~~~ Compile checking out/src/hw/ata.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ata.c -o out/src/hw/ata.o In file included from src/biosvar.h:10, from src/hw/ata.c:9: src/hw/ata.c: In function 'ata_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ Compile checking out/src/hw/ramdisk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ramdisk.c -o out/src/hw/ramdisk.o Compile checking out/src/hw/lsi-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/lsi-scsi.c -o out/src/hw/lsi-scsi.o Compile checking out/src/hw/esp-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/esp-scsi.c -o out/src/hw/esp-scsi.o Compile checking out/src/hw/megasas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/megasas.c -o out/src/hw/megasas.o Compile checking out/src/hw/mpt-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/mpt-scsi.c -o out/src/hw/mpt-scsi.o Compile checking out/src/post.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/post.c -o out/src/post.o In file included from src/biosvar.h:10, from src/post.c:8: In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'bda_init' at src/post.c:91:46, inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/e820map.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/e820map.c -o out/src/e820map.o Compile checking out/src/malloc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/malloc.c -o out/src/malloc.o In file included from src/biosvar.h:10, from src/malloc.c:7: src/malloc.c: In function 'malloc_prepboot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ Compile checking out/src/romfile.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/romfile.c -o out/src/romfile.o Compile checking out/src/x86.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/x86.c -o out/src/x86.o Compile checking out/src/optionroms.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/optionroms.c -o out/src/optionroms.o In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:344:28: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:348:9: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In file included from src/optionroms.c:10: In function 'boot_irq_restore', inlined from 'init_pcirom' at src/optionroms.c:354:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ Compile checking out/src/pmm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pmm.c -o out/src/pmm.o Compile checking out/src/font.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/font.c -o out/src/font.o Compile checking out/src/boot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/boot.c -o out/src/boot.o Compile checking out/src/bootsplash.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bootsplash.c -o out/src/bootsplash.o Compile checking out/src/jpeg.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/jpeg.c -o out/src/jpeg.o Compile checking out/src/bmp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bmp.c -o out/src/bmp.o Compile checking out/src/tcgbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/tcgbios.c -o out/src/tcgbios.o Compile checking out/src/sha1.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha1.c -o out/src/sha1.o Compile checking out/src/hw/pcidevice.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pcidevice.c -o out/src/hw/pcidevice.o Compile checking out/src/hw/ahci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ahci.c -o out/src/hw/ahci.o Compile checking out/src/hw/pvscsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pvscsi.c -o out/src/hw/pvscsi.o Compile checking out/src/hw/usb-xhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-xhci.c -o out/src/hw/usb-xhci.o Compile checking out/src/hw/usb-hub.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hub.c -o out/src/hw/usb-hub.o Compile checking out/src/hw/sdcard.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/sdcard.c -o out/src/hw/sdcard.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/src/fw/lzmadecode.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/lzmadecode.c -o out/src/fw/lzmadecode.o Compile checking out/src/fw/multiboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/multiboot.c -o out/src/fw/multiboot.o Compile checking out/src/fw/csm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/csm.c -o out/src/fw/csm.o Compile checking out/src/fw/biostables.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/biostables.c -o out/src/fw/biostables.o Compile checking out/src/fw/paravirt.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/paravirt.c -o out/src/fw/paravirt.o Compile checking out/src/fw/shadow.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/shadow.c -o out/src/fw/shadow.o Compile checking out/src/fw/pciinit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pciinit.c -o out/src/fw/pciinit.o Compile checking out/src/fw/smm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smm.c -o out/src/fw/smm.o Compile checking out/src/fw/smp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smp.c -o out/src/fw/smp.o Compile checking out/src/fw/mtrr.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mtrr.c -o out/src/fw/mtrr.o Compile checking out/src/fw/xen.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/xen.c -o out/src/fw/xen.o Compile checking out/src/fw/acpi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/acpi.c -o out/src/fw/acpi.o Compile checking out/src/fw/mptable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mptable.c -o out/src/fw/mptable.o Compile checking out/src/fw/pirtable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pirtable.c -o out/src/fw/pirtable.o Compile checking out/src/fw/smbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smbios.c -o out/src/fw/smbios.o Compile checking out/src/fw/romfile_loader.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/romfile_loader.c -o out/src/fw/romfile_loader.o Compile checking out/src/fw/dsdt_parser.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/dsdt_parser.c -o out/src/fw/dsdt_parser.o Compile checking out/src/hw/virtio-ring.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-ring.c -o out/src/hw/virtio-ring.o Compile checking out/src/hw/virtio-pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-pci.c -o out/src/hw/virtio-pci.o Compile checking out/src/hw/virtio-mmio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-mmio.c -o out/src/hw/virtio-mmio.o Compile checking out/src/hw/virtio-blk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-blk.c -o out/src/hw/virtio-blk.o Compile checking out/src/hw/virtio-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-scsi.c -o out/src/hw/virtio-scsi.o Compile checking out/src/hw/tpm_drivers.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/tpm_drivers.c -o out/src/hw/tpm_drivers.o Compile checking out/src/hw/nvme.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/nvme.c -o out/src/hw/nvme.o Compile checking out/src/sha256.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha256.c -o out/src/sha256.o Compile checking out/src/sha512.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha512.c -o out/src/sha512.o Compiling whole program out/ccode32flat.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n #include "src/post.c"\n #include "src/e820map.c"\n #include "src/malloc.c"\n #include "src/romfile.c"\n #include "src/x86.c"\n #include "src/optionroms.c"\n #include "src/pmm.c"\n #include "src/font.c"\n #include "src/boot.c"\n #include "src/bootsplash.c"\n #include "src/jpeg.c"\n #include "src/bmp.c"\n #include "src/tcgbios.c"\n #include "src/sha1.c"\n #include "src/hw/pcidevice.c"\n #include "src/hw/ahci.c"\n #include "src/hw/pvscsi.c"\n #include "src/hw/usb-xhci.c"\n #include "src/hw/usb-hub.c"\n #include "src/hw/sdcard.c"\n #include "src/fw/coreboot.c"\n #include "src/fw/lzmadecode.c"\n #include "src/fw/multiboot.c"\n #include "src/fw/csm.c"\n #include "src/fw/biostables.c"\n #include "src/fw/paravirt.c"\n #include "src/fw/shadow.c"\n #include "src/fw/pciinit.c"\n #include "src/fw/smm.c"\n #include "src/fw/smp.c"\n #include "src/fw/mtrr.c"\n #include "src/fw/xen.c"\n #include "src/fw/acpi.c"\n #include "src/fw/mptable.c"\n #include "src/fw/pirtable.c"\n #include "src/fw/smbios.c"\n #include "src/fw/romfile_loader.c"\n #include "src/fw/dsdt_parser.c"\n #include "src/hw/virtio-ring.c"\n #include "src/hw/virtio-pci.c"\n #include "src/hw/virtio-mmio.c"\n #include "src/hw/virtio-blk.c"\n #include "src/hw/virtio-scsi.c"\n #include "src/hw/tpm_drivers.c"\n #include "src/hw/nvme.c"\n #include "src/sha256.c"\n #include "src/sha512.c"\n' > out/ccode32flat.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -fwhole-program -DWHOLE_PROGRAM -c out/ccode32flat.o.tmp.c -o out/ccode32flat.o In file included from ./src/biosvar.h:10, from ./src/misc.c:8, from out/ccode32flat.o.tmp.c:1: In function 'irqtimer_calc_ticks', inlined from 'irqtimer_calc' at ./src/clock.c:356:12, inlined from 'irqtimer_calc' at ./src/clock.c:352:1: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ ./src/clock.c: In function 'irqtimer_calc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ ./src/output.c: In function 'screenc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ ./src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ In function 'irqtimer_check', inlined from 'get_keystroke_full' at ./src/boot.c:661:13: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'irqtimer_check', inlined from 'boot_fail' at ./src/boot.c:974:41: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:47: In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:344:28: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:348:9: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_restore', inlined from 'init_pcirom' at ./src/optionroms.c:354:9: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ In function 'floppy_setup', inlined from 'block_setup' at ./src/block.c:510:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'ata_setup', inlined from 'block_setup' at ./src/block.c:511:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at ./src/serial.c:212:14, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at ./src/serial.c:217:5, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'serial_setup' at ./src/serial.c:56:5, inlined from 'device_hardware_setup' at ./src/post.c:133:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ ./src/cdrom.c: In function 'cdrom_boot': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at ./src/cdrom.c:242:9: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at ./src/post.c:114:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'bda_init' at ./src/post.c:91:46, inlined from 'interface_init' at ./src/post.c:114:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'kbd_init', inlined from 'interface_init' at ./src/post.c:121:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mouse_init' at ./src/mouse.c:23:5, inlined from 'interface_init' at ./src/post.c:122:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at ./src/misc.c:66:5, inlined from 'platform_hardware_setup' at ./src/post.c:146:5, inlined from 'maininit' at ./src/post.c:203:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'clock_setup', inlined from 'platform_hardware_setup' at ./src/post.c:154:5, inlined from 'maininit' at ./src/post.c:203:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In function 'irqtimer_check', inlined from 'interactive_bootmenu' at ./src/boot.c:755:37, inlined from 'maininit' at ./src/post.c:224:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'malloc_prepboot', inlined from 'prepareboot' at ./src/post.c:172:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:5: In function 'map_hd_drive', inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ~~~^~~~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'fill_fdpt' at ./src/block.c:213:28, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:239:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:236:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:296:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:292:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compiling whole program out/code32seg.o printf '#include "src/string.c"\n #include "src/output.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/stacks.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n' > out/code32seg.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=0 -fwhole-program -DWHOLE_PROGRAM -c out/code32seg.o.tmp.c -o out/code32seg.o Compiling whole program out/ccode16.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n' > out/ccode16.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fwhole-program -DWHOLE_PROGRAM -c out/ccode16.o.tmp.c -o out/ccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/romlayout.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ src/romlayout.S -o out/romlayout.o Building ld scripts python3 ./scripts/buildversion.py -e "-2.fc37" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autoversion.h Version: 1.16.2-2.fc37 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/version.c -o out/version.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode32flat.o out/version.o -o out/code32flat.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode16.o out/romlayout.o -o out/code16.o x86_64-linux-gnu-objdump -thr out/code32flat.o > out/code32flat.o.objdump x86_64-linux-gnu-objdump -thr out/code32seg.o > out/code32seg.o.objdump x86_64-linux-gnu-objdump -thr out/code16.o > out/code16.o.objdump python3 ./scripts/layoutrom.py out/code16.o.objdump out/code32seg.o.objdump out/code32flat.o.objdump out/autoconf.h out/romlayout16.lds out/romlayout32seg.lds out/romlayout32flat.lds Fixed space: 0xe05b-0x10000 total: 8101 slack: 15 Percent slack: 0.2% 16bit size: 31328 32bit segmented size: 2297 32bit flat size: 28039 32bit flat init size: 53632 Lowmem size: 2176 f-segment var size: 1216 Linking out/rom16.o x86_64-linux-gnu-ld -T out/romlayout16.lds out/code16.o -o out/rom16.o Stripping out/rom16.noexec.o x86_64-linux-gnu-strip out/rom16.o -o out/rom16.o.strip.o python3 ./scripts/ldnoexec.py out/rom16.o.strip.o out/rom16.noexec.o Linking out/rom32seg.o x86_64-linux-gnu-ld -T out/romlayout32seg.lds out/code32seg.o -o out/rom32seg.o Stripping out/rom32seg.noexec.o x86_64-linux-gnu-strip out/rom32seg.o -o out/rom32seg.o.strip.o python3 ./scripts/ldnoexec.py out/rom32seg.o.strip.o out/rom32seg.noexec.o Linking out/rom.o x86_64-linux-gnu-ld -N -T out/romlayout32flat.lds out/rom16.noexec.o out/rom32seg.noexec.o out/code32flat.o -o out/rom.o Prepping out/bios.bin.prep rm -f out/bios.bin out/Csm16.bin out/bios.bin.elf x86_64-linux-gnu-objdump -thr out/rom.o > out/rom.o.objdump x86_64-linux-gnu-objcopy -O binary out/rom.o out/bios.bin.raw python3 ./scripts/checkrom.py out/rom.o.objdump 128 out/bios.bin.raw out/bios.bin.prep Total size: 122944 Fixed: 62880 Free: 8128 (used 93.8% of 128KiB rom) Creating out/bios.bin cp out/bios.bin.prep out/bios.bin + cp out/bios.bin binaries/bios.bin + build_bios /builddir/build/SOURCES/config.seabios-256k bios.bin bios-256k.bin + make clean distclean + cp /builddir/build/SOURCES/config.seabios-256k .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.2/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' + make V=1 EXTRAVERSION=-2.fc37 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' Compile checking out/src/misc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/misc.c -o out/src/misc.o In file included from src/biosvar.h:10, from src/misc.c:8: src/misc.c: In function 'handle_12': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:36:16: note: in expansion of macro 'GET_BDA' 36 | regs->ax = GET_BDA(mem_size_kb); | ^~~~~~~ src/misc.c: In function 'handle_11': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:44:16: note: in expansion of macro 'GET_BDA' 44 | regs->ax = GET_BDA(equipment_list_flags); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at src/misc.c:66:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/stacks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/stacks.c -o out/src/stacks.o Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/block.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/block.c -o out/src/block.o src/block.c: In function 'map_hd_drive': src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ^~ In file included from src/biosvar.h:10, from src/block.c:8: In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'fill_fdpt' at src/block.c:213:28, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:239:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:236:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:296:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:292:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compile checking out/src/cdrom.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cdrom.c -o out/src/cdrom.o In file included from src/biosvar.h:10, from src/cdrom.c:8: src/cdrom.c: In function 'cdrom_boot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at src/cdrom.c:242:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/disk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/disk.c -o out/src/disk.o In file included from src/biosvar.h:10, from src/disk.c:8: src/disk.c: In function '__disk_ret_unimplemented': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:45:9: note: in expansion of macro 'SET_BDA' 45 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:43:9: note: in expansion of macro 'SET_BDA' 43 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function '__disk_ret': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:31:9: note: in expansion of macro 'SET_BDA' 31 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:29:9: note: in expansion of macro 'SET_BDA' 29 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function 'disk_1308': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/disk.c:297:17: note: in expansion of macro 'GET_BDA' 297 | count = GET_BDA(hdcount); | ^~~~~~~ src/disk.c: In function 'disk_13': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:626:5: note: in expansion of macro 'SET_BDA' 626 | SET_BDA(disk_interrupt_flag, 0); | ^~~~~~~ In function 'disk_1301', inlined from 'disk_13' at src/disk.c:630:16: src/disk.c:218:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 218 | v = GET_BDA(disk_last_status); src/disk.c:216:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 216 | v = GET_BDA(floppy_last_status); src/disk.c: In function 'handle_76': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:777:5: note: in expansion of macro 'SET_BDA' 777 | SET_BDA(disk_interrupt_flag, 0xff); | ^~~~~~~ Compile checking out/src/mouse.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/mouse.c -o out/src/mouse.o In file included from src/mouse.c:8: In function 'set_equipment_flags', inlined from 'mouse_init' at src/mouse.c:23:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c207' at src/mouse.c:231:20, inlined from 'handle_15c2' at src/mouse.c:272:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c205' at src/mouse.c:162:20, inlined from 'handle_15c2' at src/mouse.c:270:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c20001' at src/mouse.c:56:20, inlined from 'mouse_15c200' at src/mouse.c:82:16, inlined from 'handle_15c2' at src/mouse.c:265:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'process_mouse' at src/mouse.c:322:20: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/kbd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/kbd.c -o out/src/kbd.o In file included from src/biosvar.h:10, from src/kbd.c:8: src/kbd.c: In function 'kbd_set_flag': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:397:18: note: in expansion of macro 'GET_BDA' 397 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:398:17: note: in expansion of macro 'GET_BDA' 398 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:407:5: note: in expansion of macro 'SET_BDA' 407 | SET_BDA(kbd_flag0, flags0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:408:5: note: in expansion of macro 'SET_BDA' 408 | SET_BDA(kbd_flag1, flags1); | ^~~~~~~ src/kbd.c: In function 'set_leds': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:230:23: note: in expansion of macro 'GET_BDA' 230 | u8 shift_flags = (GET_BDA(kbd_flag0) >> 4) & 0x07; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:231:18: note: in expansion of macro 'GET_BDA' 231 | u8 kbd_led = GET_BDA(kbd_led); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:241:5: note: in expansion of macro 'SET_BDA' 241 | SET_BDA(kbd_led, kbd_led); | ^~~~~~~ src/kbd.c: In function 'dequeue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:61:23: note: in expansion of macro 'GET_BDA' 61 | buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:62:23: note: in expansion of macro 'GET_BDA' 62 | buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:98:24: note: in expansion of macro 'GET_BDA' 98 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:99:24: note: in expansion of macro 'GET_BDA' 99 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:104:5: note: in expansion of macro 'SET_BDA' 104 | SET_BDA(kbd_buf_head, buffer_head); | ^~~~~~~ src/kbd.c: In function 'kbd_init': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ src/kbd.c: In function 'enqueue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:35:24: note: in expansion of macro 'GET_BDA' 35 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:36:24: note: in expansion of macro 'GET_BDA' 36 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:38:23: note: in expansion of macro 'GET_BDA' 38 | u16 buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:39:23: note: in expansion of macro 'GET_BDA' 39 | u16 buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:50:5: note: in expansion of macro 'SET_BDA' 50 | SET_BDA(kbd_buf_tail, buffer_tail); | ^~~~~~~ In function 'handle_1612', inlined from 'handle_16' at src/kbd.c:264:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:193:18: note: in expansion of macro 'GET_BDA' 193 | regs->ax = ((GET_BDA(kbd_flag0) & ~((KF1_RCTRL|KF1_RALT) << 8)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:194:21: note: in expansion of macro 'GET_BDA' 194 | | ((GET_BDA(kbd_flag1) & (KF1_RCTRL|KF1_RALT)) << 8)); | ^~~~~~~ In function 'handle_1602', inlined from 'handle_16' at src/kbd.c:258:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:134:16: note: in expansion of macro 'GET_BDA' 134 | regs->al = GET_BDA(kbd_flag0); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:459:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 459 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:473:9: note: in expansion of macro 'SET_BDA' 473 | SET_BDA(kbd_flag1, flags1 & ~(KF1_LAST_E0|KF1_LAST_E1)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:529:14: note: in expansion of macro 'GET_BDA' 529 | if ((GET_BDA(kbd_flag0) & (KF0_CTRLACTIVE|KF0_ALTACTIVE)) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:532:13: note: in expansion of macro 'SET_BDA' 532 | SET_BDA(soft_reset_flag, 0x1234); | ^~~~~~~ In function 'kbd_ctrl_break', inlined from '__process_key' at src/kbd.c:513:13, inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:417:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 417 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:418:5: note: in expansion of macro 'SET_BDA' 418 | SET_BDA(kbd_buf_head, buffer_start); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:419:5: note: in expansion of macro 'SET_BDA' 419 | SET_BDA(kbd_buf_tail, buffer_start+2); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:422:5: note: in expansion of macro 'SET_BDA' 422 | SET_BDA(break_flag, 0x80); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:552:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 552 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:463:9: note: in expansion of macro 'SET_BDA' 463 | SET_BDA(kbd_flag1, flags1 | eflag); | ^~~~~~~ Compile checking out/src/system.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/system.c -o out/src/system.o In file included from src/biosvar.h:10, from src/system.c:8: In function 'get_ebda_seg', inlined from 'handle_15c1' at src/system.c:255:16, inlined from 'handle_15' at src/system.c:352:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/serial.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/serial.c -o out/src/serial.o In file included from src/serial.c:8: In function 'set_equipment_flags', inlined from 'serial_setup' at src/serial.c:56:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at src/serial.c:212:14: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at src/serial.c:217:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/sercon.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sercon.c -o out/src/sercon.o In file included from src/biosvar.h:10, from src/sercon.c:7: In function 'cursor_pos_set', inlined from 'sercon_cursor_pos_set' at src/sercon.c:190:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_lf' at src/sercon.c:270:11: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_lazy_lf' at src/sercon.c:271:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cursor_sync' at src/sercon.c:198:14, inlined from 'sercon_lazy_flush' at src/sercon.c:236:5: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_putchar' at src/sercon.c:296:9: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:285:11, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_cols', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:286:16, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_100f', inlined from 'handle_sercon' at src/sercon.c:505:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:456:16: note: in expansion of macro 'GET_BDA' 456 | regs->al = GET_BDA(video_mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:457:16: note: in expansion of macro 'GET_BDA' 457 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cr' at src/sercon.c:263:27, inlined from 'sercon_100e' at src/sercon.c:442:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_backspace' at src/sercon.c:254:11, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_backspace' at src/sercon.c:257:35, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1009' at src/sercon.c:411:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1009' at src/sercon.c:411:31, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1009' at src/sercon.c:412:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1009' at src/sercon.c:427:33, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1006' at src/sercon.c:384:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1006' at src/sercon.c:385:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_1003', inlined from 'handle_sercon' at src/sercon.c:500:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:371:16: note: in expansion of macro 'GET_BDA' 371 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1003' at src/sercon.c:372:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1003' at src/sercon.c:373:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'sercon_1001', inlined from 'handle_sercon' at src/sercon.c:498:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:359:5: note: in expansion of macro 'SET_BDA' 359 | SET_BDA(cursor_type, regs->cx); | ^~~~~~~ In function 'cursor_pos_set', inlined from 'sercon_1000' at src/sercon.c:335:9, inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'sercon_1000', inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:336:9: note: in expansion of macro 'SET_BDA' 336 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:337:9: note: in expansion of macro 'SET_BDA' 337 | SET_BDA(video_cols, cols); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:338:9: note: in expansion of macro 'SET_BDA' 338 | SET_BDA(video_rows, rows-1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:339:9: note: in expansion of macro 'SET_BDA' 339 | SET_BDA(cursor_type, 0x0007); | ^~~~~~~ src/sercon.c: In function 'sercon_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/sercon.c:528:15: note: in expansion of macro 'GET_IVT' 528 | vgabios = GET_IVT(0x10); | ^~~~~~~ src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ Compile checking out/src/clock.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/clock.c -o out/src/clock.o In file included from src/biosvar.h:10, from src/clock.c:8: src/clock.c: In function 'clear_usertimer': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:389:11: note: in expansion of macro 'GET_BDA' 389 | if (!(GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING)) | ^~~~~~~ In function 'clear_usertimer', inlined from 'clear_usertimer' at src/clock.c:387:1: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:392:5: note: in expansion of macro 'SET_BDA' 392 | SET_BDA(rtc_wait_flag, 0); | ^~~~~~~ src/clock.c: In function 'clock_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In function 'handle_1a01', inlined from 'handle_1a' at src/clock.c:268:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(timer_counter, ticks); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:87:5: note: in expansion of macro 'SET_BDA' 87 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'handle_1a00', inlined from 'handle_1a' at src/clock.c:267:16: src/clock.c:73:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 73 | u32 ticks = GET_BDA(timer_counter); | ^~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:76:16: note: in expansion of macro 'GET_BDA' 76 | regs->al = GET_BDA(timer_rollover); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:77:5: note: in expansion of macro 'SET_BDA' 77 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'clock_update', inlined from 'handle_08' at src/clock.c:306:5: src/clock.c:284:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 284 | u32 counter = GET_BDA(timer_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:290:33: note: in expansion of macro 'GET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:292:5: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(timer_counter, counter); | ^~~~~~~ src/clock.c: In function 'handle_08': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/clock.c:312:29: note: in expansion of macro 'GET_IVT' 312 | struct segoff_s isr1c = GET_IVT(0x1c); | ^~~~~~~ src/clock.c: In function 'irqtimer_calc_ticks': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ src/clock.c: In function 'irqtimer_calc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ src/clock.c: In function 'irqtimer_check': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_1586' at src/clock.c:409:15: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:375:9: note: in expansion of macro 'GET_BDA' 375 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:379:5: note: in expansion of macro 'SET_BDA' 379 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:381:5: note: in expansion of macro 'SET_BDA' 381 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_158300' at src/clock.c:423:15, inlined from 'handle_1583' at src/clock.c:454:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:375:9: note: in expansion of macro 'GET_BDA' 375 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:379:5: note: in expansion of macro 'SET_BDA' 379 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:381:5: note: in expansion of macro 'SET_BDA' 381 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ src/clock.c: In function 'handle_70': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:490:10: note: in expansion of macro 'GET_BDA' 490 | if (!GET_BDA(rtc_wait_flag)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:494:16: note: in expansion of macro 'GET_BDA' 494 | u32 time = GET_BDA(user_wait_timeout); // Time left in microseconds. | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:507:9: note: in expansion of macro 'SET_BDA' 507 | SET_BDA(user_wait_timeout, time); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:497:34: note: in expansion of macro 'GET_BDA' 497 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:497:34: note: in expansion of macro 'GET_BDA' 497 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ Compile checking out/src/resume.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/resume.c -o out/src/resume.o Compile checking out/src/pnpbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pnpbios.c -o out/src/pnpbios.o Compile checking out/src/vgahooks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/vgahooks.c -o out/src/vgahooks.o Compile checking out/src/pcibios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pcibios.c -o out/src/pcibios.o Compile checking out/src/apm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/apm.c -o out/src/apm.o Compile checking out/src/cp437.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cp437.c -o out/src/cp437.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/timer.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/timer.c -o out/src/hw/timer.o Compile checking out/src/hw/rtc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/rtc.c -o out/src/hw/rtc.o Compile checking out/src/hw/dma.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/dma.c -o out/src/hw/dma.o Compile checking out/src/hw/pic.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pic.c -o out/src/hw/pic.o Compile checking out/src/hw/ps2port.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ps2port.c -o out/src/hw/ps2port.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/src/hw/usb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb.c -o out/src/hw/usb.o Compile checking out/src/hw/usb-uhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uhci.c -o out/src/hw/usb-uhci.o Compile checking out/src/hw/usb-ohci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ohci.c -o out/src/hw/usb-ohci.o Compile checking out/src/hw/usb-ehci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ehci.c -o out/src/hw/usb-ehci.o Compile checking out/src/hw/usb-hid.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hid.c -o out/src/hw/usb-hid.o Compile checking out/src/hw/usb-msc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-msc.c -o out/src/hw/usb-msc.o Compile checking out/src/hw/usb-uas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uas.c -o out/src/hw/usb-uas.o Compile checking out/src/hw/blockcmd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/blockcmd.c -o out/src/hw/blockcmd.o Compile checking out/src/hw/floppy.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/floppy.c -o out/src/hw/floppy.o In file included from src/biosvar.h:10, from src/hw/floppy.c:8: src/hw/floppy.c: In function 'floppy_wait_irq': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:226:14: note: in expansion of macro 'GET_BDA' 226 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:227:5: note: in expansion of macro 'SET_BDA' 227 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:235:15: note: in expansion of macro 'GET_BDA' 235 | frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:243:5: note: in expansion of macro 'SET_BDA' 243 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_drive_pio': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:372:5: note: in expansion of macro 'SET_BDA' 372 | SET_BDA(floppy_motor_counter, 255); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:387:5: note: in expansion of macro 'SET_BDA' 387 | SET_BDA(floppy_motor_counter, FLOPPY_MOTOR_TICKS); // reset motor timeout | ^~~~~~~ src/hw/floppy.c: In function 'floppy_prep': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:494:11: note: in expansion of macro 'GET_BDA' 494 | if (!(GET_BDA(floppy_recalibration_status) & (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:414:5: note: in expansion of macro 'SET_BDA' 414 | SET_BDA(floppy_recalibration_status, frs | (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:478:5: note: in expansion of macro 'SET_BDA' 478 | SET_BDA(floppy_last_data_rate, (old_data_rate<<2) | (data_rate<<6)); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_setup': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'floppy_reset', inlined from 'floppy_process_op' at src/hw/floppy.c:691:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:594:5: note: in expansion of macro 'SET_BDA' 594 | SET_BDA(floppy_recalibration_status, 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:595:5: note: in expansion of macro 'SET_BDA' 595 | SET_BDA(floppy_media_state[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:596:5: note: in expansion of macro 'SET_BDA' 596 | SET_BDA(floppy_media_state[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:597:5: note: in expansion of macro 'SET_BDA' 597 | SET_BDA(floppy_track[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:598:5: note: in expansion of macro 'SET_BDA' 598 | SET_BDA(floppy_track[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:599:5: note: in expansion of macro 'SET_BDA' 599 | SET_BDA(floppy_last_data_rate, 0); | ^~~~~~~ src/hw/floppy.c: In function 'handle_0e': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:719:14: note: in expansion of macro 'GET_BDA' 719 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:720:5: note: in expansion of macro 'SET_BDA' 720 | SET_BDA(floppy_recalibration_status, frs | FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_tick': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:733:17: note: in expansion of macro 'GET_BDA' 733 | u8 fcount = GET_BDA(floppy_motor_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:736:9: note: in expansion of macro 'SET_BDA' 736 | SET_BDA(floppy_motor_counter, fcount); | ^~~~~~~ Compile checking out/src/hw/ata.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ata.c -o out/src/hw/ata.o In file included from src/biosvar.h:10, from src/hw/ata.c:9: src/hw/ata.c: In function 'ata_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ Compile checking out/src/hw/ramdisk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ramdisk.c -o out/src/hw/ramdisk.o Compile checking out/src/hw/lsi-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/lsi-scsi.c -o out/src/hw/lsi-scsi.o Compile checking out/src/hw/esp-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/esp-scsi.c -o out/src/hw/esp-scsi.o Compile checking out/src/hw/megasas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/megasas.c -o out/src/hw/megasas.o Compile checking out/src/hw/mpt-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/mpt-scsi.c -o out/src/hw/mpt-scsi.o Compile checking out/src/post.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/post.c -o out/src/post.o In file included from src/biosvar.h:10, from src/post.c:8: In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'bda_init' at src/post.c:91:46, inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/e820map.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/e820map.c -o out/src/e820map.o Compile checking out/src/malloc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/malloc.c -o out/src/malloc.o In file included from src/biosvar.h:10, from src/malloc.c:7: src/malloc.c: In function 'malloc_prepboot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ Compile checking out/src/romfile.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/romfile.c -o out/src/romfile.o Compile checking out/src/x86.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/x86.c -o out/src/x86.o Compile checking out/src/optionroms.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/optionroms.c -o out/src/optionroms.o In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:344:28: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:348:9: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In file included from src/optionroms.c:10: In function 'boot_irq_restore', inlined from 'init_pcirom' at src/optionroms.c:354:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ Compile checking out/src/pmm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pmm.c -o out/src/pmm.o Compile checking out/src/font.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/font.c -o out/src/font.o Compile checking out/src/boot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/boot.c -o out/src/boot.o Compile checking out/src/bootsplash.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bootsplash.c -o out/src/bootsplash.o Compile checking out/src/jpeg.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/jpeg.c -o out/src/jpeg.o Compile checking out/src/bmp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bmp.c -o out/src/bmp.o Compile checking out/src/tcgbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/tcgbios.c -o out/src/tcgbios.o Compile checking out/src/sha1.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha1.c -o out/src/sha1.o Compile checking out/src/hw/pcidevice.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pcidevice.c -o out/src/hw/pcidevice.o Compile checking out/src/hw/ahci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ahci.c -o out/src/hw/ahci.o Compile checking out/src/hw/pvscsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pvscsi.c -o out/src/hw/pvscsi.o Compile checking out/src/hw/usb-xhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-xhci.c -o out/src/hw/usb-xhci.o Compile checking out/src/hw/usb-hub.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hub.c -o out/src/hw/usb-hub.o Compile checking out/src/hw/sdcard.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/sdcard.c -o out/src/hw/sdcard.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/src/fw/lzmadecode.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/lzmadecode.c -o out/src/fw/lzmadecode.o Compile checking out/src/fw/multiboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/multiboot.c -o out/src/fw/multiboot.o Compile checking out/src/fw/csm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/csm.c -o out/src/fw/csm.o Compile checking out/src/fw/biostables.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/biostables.c -o out/src/fw/biostables.o Compile checking out/src/fw/paravirt.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/paravirt.c -o out/src/fw/paravirt.o Compile checking out/src/fw/shadow.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/shadow.c -o out/src/fw/shadow.o Compile checking out/src/fw/pciinit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pciinit.c -o out/src/fw/pciinit.o Compile checking out/src/fw/smm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smm.c -o out/src/fw/smm.o Compile checking out/src/fw/smp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smp.c -o out/src/fw/smp.o Compile checking out/src/fw/mtrr.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mtrr.c -o out/src/fw/mtrr.o Compile checking out/src/fw/xen.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/xen.c -o out/src/fw/xen.o Compile checking out/src/fw/acpi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/acpi.c -o out/src/fw/acpi.o Compile checking out/src/fw/mptable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mptable.c -o out/src/fw/mptable.o Compile checking out/src/fw/pirtable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pirtable.c -o out/src/fw/pirtable.o Compile checking out/src/fw/smbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smbios.c -o out/src/fw/smbios.o Compile checking out/src/fw/romfile_loader.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/romfile_loader.c -o out/src/fw/romfile_loader.o Compile checking out/src/fw/dsdt_parser.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/dsdt_parser.c -o out/src/fw/dsdt_parser.o Compile checking out/src/hw/virtio-ring.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-ring.c -o out/src/hw/virtio-ring.o Compile checking out/src/hw/virtio-pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-pci.c -o out/src/hw/virtio-pci.o Compile checking out/src/hw/virtio-mmio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-mmio.c -o out/src/hw/virtio-mmio.o Compile checking out/src/hw/virtio-blk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-blk.c -o out/src/hw/virtio-blk.o Compile checking out/src/hw/virtio-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-scsi.c -o out/src/hw/virtio-scsi.o Compile checking out/src/hw/tpm_drivers.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/tpm_drivers.c -o out/src/hw/tpm_drivers.o Compile checking out/src/hw/nvme.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/nvme.c -o out/src/hw/nvme.o Compile checking out/src/sha256.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha256.c -o out/src/sha256.o Compile checking out/src/sha512.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha512.c -o out/src/sha512.o Compiling whole program out/ccode32flat.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n #include "src/post.c"\n #include "src/e820map.c"\n #include "src/malloc.c"\n #include "src/romfile.c"\n #include "src/x86.c"\n #include "src/optionroms.c"\n #include "src/pmm.c"\n #include "src/font.c"\n #include "src/boot.c"\n #include "src/bootsplash.c"\n #include "src/jpeg.c"\n #include "src/bmp.c"\n #include "src/tcgbios.c"\n #include "src/sha1.c"\n #include "src/hw/pcidevice.c"\n #include "src/hw/ahci.c"\n #include "src/hw/pvscsi.c"\n #include "src/hw/usb-xhci.c"\n #include "src/hw/usb-hub.c"\n #include "src/hw/sdcard.c"\n #include "src/fw/coreboot.c"\n #include "src/fw/lzmadecode.c"\n #include "src/fw/multiboot.c"\n #include "src/fw/csm.c"\n #include "src/fw/biostables.c"\n #include "src/fw/paravirt.c"\n #include "src/fw/shadow.c"\n #include "src/fw/pciinit.c"\n #include "src/fw/smm.c"\n #include "src/fw/smp.c"\n #include "src/fw/mtrr.c"\n #include "src/fw/xen.c"\n #include "src/fw/acpi.c"\n #include "src/fw/mptable.c"\n #include "src/fw/pirtable.c"\n #include "src/fw/smbios.c"\n #include "src/fw/romfile_loader.c"\n #include "src/fw/dsdt_parser.c"\n #include "src/hw/virtio-ring.c"\n #include "src/hw/virtio-pci.c"\n #include "src/hw/virtio-mmio.c"\n #include "src/hw/virtio-blk.c"\n #include "src/hw/virtio-scsi.c"\n #include "src/hw/tpm_drivers.c"\n #include "src/hw/nvme.c"\n #include "src/sha256.c"\n #include "src/sha512.c"\n' > out/ccode32flat.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -fwhole-program -DWHOLE_PROGRAM -c out/ccode32flat.o.tmp.c -o out/ccode32flat.o In file included from ./src/biosvar.h:10, from ./src/misc.c:8, from out/ccode32flat.o.tmp.c:1: In function 'irqtimer_calc_ticks', inlined from 'irqtimer_calc' at ./src/clock.c:356:12, inlined from 'irqtimer_calc' at ./src/clock.c:352:1: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ ./src/clock.c: In function 'irqtimer_calc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ ./src/output.c: In function 'screenc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ ./src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ In function 'irqtimer_check', inlined from 'get_keystroke_full' at ./src/boot.c:661:13: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'irqtimer_check', inlined from 'boot_fail' at ./src/boot.c:974:41: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at ./src/post.c:114:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'bda_init' at ./src/post.c:91:46, inlined from 'interface_init' at ./src/post.c:114:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'kbd_init', inlined from 'interface_init' at ./src/post.c:121:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mouse_init' at ./src/mouse.c:23:5, inlined from 'interface_init' at ./src/post.c:122:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:47: In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:344:28: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:348:9: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_restore', inlined from 'init_pcirom' at ./src/optionroms.c:354:9: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ In function 'floppy_setup', inlined from 'block_setup' at ./src/block.c:510:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'ata_setup', inlined from 'block_setup' at ./src/block.c:511:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at ./src/serial.c:212:14, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at ./src/serial.c:217:5, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'serial_setup' at ./src/serial.c:56:5, inlined from 'device_hardware_setup' at ./src/post.c:133:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at ./src/misc.c:66:5, inlined from 'platform_hardware_setup' at ./src/post.c:146:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'clock_setup', inlined from 'platform_hardware_setup' at ./src/post.c:154:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ ./src/cdrom.c: In function 'cdrom_boot': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at ./src/cdrom.c:242:9: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:12: In function 'sercon_setup', inlined from 'maininit' at ./src/post.c:211:5: ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ In function 'irqtimer_check', inlined from 'interactive_bootmenu' at ./src/boot.c:755:37, inlined from 'maininit' at ./src/post.c:224:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'malloc_prepboot', inlined from 'prepareboot' at ./src/post.c:172:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:5: In function 'map_hd_drive', inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ~~~^~~~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'fill_fdpt' at ./src/block.c:213:28, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:239:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:236:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:296:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:292:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compiling whole program out/code32seg.o printf '#include "src/string.c"\n #include "src/output.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/stacks.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n' > out/code32seg.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=0 -fwhole-program -DWHOLE_PROGRAM -c out/code32seg.o.tmp.c -o out/code32seg.o Compiling whole program out/ccode16.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n' > out/ccode16.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fwhole-program -DWHOLE_PROGRAM -c out/ccode16.o.tmp.c -o out/ccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/romlayout.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ src/romlayout.S -o out/romlayout.o Building ld scripts python3 ./scripts/buildversion.py -e "-2.fc37" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autoversion.h Version: 1.16.2-2.fc37 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/version.c -o out/version.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode32flat.o out/version.o -o out/code32flat.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode16.o out/romlayout.o -o out/code16.o x86_64-linux-gnu-objdump -thr out/code32flat.o > out/code32flat.o.objdump x86_64-linux-gnu-objdump -thr out/code32seg.o > out/code32seg.o.objdump x86_64-linux-gnu-objdump -thr out/code16.o > out/code16.o.objdump python3 ./scripts/layoutrom.py out/code16.o.objdump out/code32seg.o.objdump out/code32flat.o.objdump out/autoconf.h out/romlayout16.lds out/romlayout32seg.lds out/romlayout32flat.lds Fixed space: 0xe05b-0x10000 total: 8101 slack: 15 Percent slack: 0.2% 16bit size: 38176 32bit segmented size: 2297 32bit flat size: 51095 32bit flat init size: 84992 Lowmem size: 2240 f-segment var size: 1232 Linking out/rom16.o x86_64-linux-gnu-ld -T out/romlayout16.lds out/code16.o -o out/rom16.o Stripping out/rom16.noexec.o x86_64-linux-gnu-strip out/rom16.o -o out/rom16.o.strip.o python3 ./scripts/ldnoexec.py out/rom16.o.strip.o out/rom16.noexec.o Linking out/rom32seg.o x86_64-linux-gnu-ld -T out/romlayout32seg.lds out/code32seg.o -o out/rom32seg.o Stripping out/rom32seg.noexec.o x86_64-linux-gnu-strip out/rom32seg.o -o out/rom32seg.o.strip.o python3 ./scripts/ldnoexec.py out/rom32seg.o.strip.o out/rom32seg.noexec.o Linking out/rom.o x86_64-linux-gnu-ld -N -T out/romlayout32flat.lds out/rom16.noexec.o out/rom32seg.noexec.o out/code32flat.o -o out/rom.o Prepping out/bios.bin.prep rm -f out/bios.bin out/Csm16.bin out/bios.bin.elf x86_64-linux-gnu-objdump -thr out/rom.o > out/rom.o.objdump x86_64-linux-gnu-objcopy -O binary out/rom.o out/bios.bin.raw python3 ./scripts/checkrom.py out/rom.o.objdump 256 out/bios.bin.raw out/bios.bin.prep Total size: 186400 Fixed: 92800 Free: 75744 (used 71.1% of 256KiB rom) Creating out/bios.bin cp out/bios.bin.prep out/bios.bin + cp out/bios.bin binaries/bios-256k.bin + build_bios /builddir/build/SOURCES/config.csm Csm16.bin bios-csm.bin + make clean distclean + cp /builddir/build/SOURCES/config.csm .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.2/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' + make V=1 EXTRAVERSION=-2.fc37 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' Compile checking out/src/misc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/misc.c -o out/src/misc.o In file included from src/biosvar.h:10, from src/misc.c:8: src/misc.c: In function 'handle_12': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:36:16: note: in expansion of macro 'GET_BDA' 36 | regs->ax = GET_BDA(mem_size_kb); | ^~~~~~~ src/misc.c: In function 'handle_11': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:44:16: note: in expansion of macro 'GET_BDA' 44 | regs->ax = GET_BDA(equipment_list_flags); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at src/misc.c:66:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/stacks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/stacks.c -o out/src/stacks.o Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/block.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/block.c -o out/src/block.o src/block.c: In function 'map_hd_drive': src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ^~ In file included from src/biosvar.h:10, from src/block.c:8: In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'fill_fdpt' at src/block.c:213:28, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:239:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:236:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:296:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:292:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compile checking out/src/cdrom.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cdrom.c -o out/src/cdrom.o In file included from src/biosvar.h:10, from src/cdrom.c:8: src/cdrom.c: In function 'cdrom_boot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at src/cdrom.c:242:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/disk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/disk.c -o out/src/disk.o In file included from src/biosvar.h:10, from src/disk.c:8: src/disk.c: In function '__disk_ret_unimplemented': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:45:9: note: in expansion of macro 'SET_BDA' 45 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:43:9: note: in expansion of macro 'SET_BDA' 43 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function '__disk_ret': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:31:9: note: in expansion of macro 'SET_BDA' 31 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:29:9: note: in expansion of macro 'SET_BDA' 29 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function 'disk_1308': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/disk.c:297:17: note: in expansion of macro 'GET_BDA' 297 | count = GET_BDA(hdcount); | ^~~~~~~ src/disk.c: In function 'disk_13': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:626:5: note: in expansion of macro 'SET_BDA' 626 | SET_BDA(disk_interrupt_flag, 0); | ^~~~~~~ In function 'disk_1301', inlined from 'disk_13' at src/disk.c:630:16: src/disk.c:218:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 218 | v = GET_BDA(disk_last_status); src/disk.c:216:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 216 | v = GET_BDA(floppy_last_status); src/disk.c: In function 'handle_76': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:777:5: note: in expansion of macro 'SET_BDA' 777 | SET_BDA(disk_interrupt_flag, 0xff); | ^~~~~~~ Compile checking out/src/mouse.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/mouse.c -o out/src/mouse.o In file included from src/mouse.c:8: In function 'set_equipment_flags', inlined from 'mouse_init' at src/mouse.c:23:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c207' at src/mouse.c:231:20, inlined from 'handle_15c2' at src/mouse.c:272:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c205' at src/mouse.c:162:20, inlined from 'handle_15c2' at src/mouse.c:270:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c20001' at src/mouse.c:56:20, inlined from 'mouse_15c200' at src/mouse.c:82:16, inlined from 'handle_15c2' at src/mouse.c:265:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'process_mouse' at src/mouse.c:322:20: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/kbd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/kbd.c -o out/src/kbd.o In file included from src/biosvar.h:10, from src/kbd.c:8: src/kbd.c: In function 'kbd_set_flag': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:397:18: note: in expansion of macro 'GET_BDA' 397 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:398:17: note: in expansion of macro 'GET_BDA' 398 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:407:5: note: in expansion of macro 'SET_BDA' 407 | SET_BDA(kbd_flag0, flags0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:408:5: note: in expansion of macro 'SET_BDA' 408 | SET_BDA(kbd_flag1, flags1); | ^~~~~~~ src/kbd.c: In function 'set_leds': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:230:23: note: in expansion of macro 'GET_BDA' 230 | u8 shift_flags = (GET_BDA(kbd_flag0) >> 4) & 0x07; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:231:18: note: in expansion of macro 'GET_BDA' 231 | u8 kbd_led = GET_BDA(kbd_led); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:241:5: note: in expansion of macro 'SET_BDA' 241 | SET_BDA(kbd_led, kbd_led); | ^~~~~~~ src/kbd.c: In function 'dequeue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:61:23: note: in expansion of macro 'GET_BDA' 61 | buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:62:23: note: in expansion of macro 'GET_BDA' 62 | buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:98:24: note: in expansion of macro 'GET_BDA' 98 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:99:24: note: in expansion of macro 'GET_BDA' 99 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:104:5: note: in expansion of macro 'SET_BDA' 104 | SET_BDA(kbd_buf_head, buffer_head); | ^~~~~~~ src/kbd.c: In function 'kbd_init': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ src/kbd.c: In function 'enqueue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:35:24: note: in expansion of macro 'GET_BDA' 35 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:36:24: note: in expansion of macro 'GET_BDA' 36 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:38:23: note: in expansion of macro 'GET_BDA' 38 | u16 buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:39:23: note: in expansion of macro 'GET_BDA' 39 | u16 buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:50:5: note: in expansion of macro 'SET_BDA' 50 | SET_BDA(kbd_buf_tail, buffer_tail); | ^~~~~~~ In function 'handle_1612', inlined from 'handle_16' at src/kbd.c:264:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:193:18: note: in expansion of macro 'GET_BDA' 193 | regs->ax = ((GET_BDA(kbd_flag0) & ~((KF1_RCTRL|KF1_RALT) << 8)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:194:21: note: in expansion of macro 'GET_BDA' 194 | | ((GET_BDA(kbd_flag1) & (KF1_RCTRL|KF1_RALT)) << 8)); | ^~~~~~~ In function 'handle_1602', inlined from 'handle_16' at src/kbd.c:258:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:134:16: note: in expansion of macro 'GET_BDA' 134 | regs->al = GET_BDA(kbd_flag0); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:459:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 459 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:473:9: note: in expansion of macro 'SET_BDA' 473 | SET_BDA(kbd_flag1, flags1 & ~(KF1_LAST_E0|KF1_LAST_E1)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:529:14: note: in expansion of macro 'GET_BDA' 529 | if ((GET_BDA(kbd_flag0) & (KF0_CTRLACTIVE|KF0_ALTACTIVE)) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:532:13: note: in expansion of macro 'SET_BDA' 532 | SET_BDA(soft_reset_flag, 0x1234); | ^~~~~~~ In function 'kbd_ctrl_break', inlined from '__process_key' at src/kbd.c:513:13, inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:417:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 417 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:418:5: note: in expansion of macro 'SET_BDA' 418 | SET_BDA(kbd_buf_head, buffer_start); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:419:5: note: in expansion of macro 'SET_BDA' 419 | SET_BDA(kbd_buf_tail, buffer_start+2); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:422:5: note: in expansion of macro 'SET_BDA' 422 | SET_BDA(break_flag, 0x80); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:552:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 552 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:463:9: note: in expansion of macro 'SET_BDA' 463 | SET_BDA(kbd_flag1, flags1 | eflag); | ^~~~~~~ Compile checking out/src/system.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/system.c -o out/src/system.o In file included from src/biosvar.h:10, from src/system.c:8: In function 'get_ebda_seg', inlined from 'handle_15c1' at src/system.c:255:16, inlined from 'handle_15' at src/system.c:352:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/serial.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/serial.c -o out/src/serial.o In file included from src/serial.c:8: In function 'set_equipment_flags', inlined from 'serial_setup' at src/serial.c:56:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at src/serial.c:212:14: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at src/serial.c:217:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/sercon.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sercon.c -o out/src/sercon.o In file included from src/biosvar.h:10, from src/sercon.c:7: In function 'cursor_pos_set', inlined from 'sercon_cursor_pos_set' at src/sercon.c:190:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_lf' at src/sercon.c:270:11: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_lazy_lf' at src/sercon.c:271:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cursor_sync' at src/sercon.c:198:14, inlined from 'sercon_lazy_flush' at src/sercon.c:236:5: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_putchar' at src/sercon.c:296:9: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:285:11, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_cols', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:286:16, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_100f', inlined from 'handle_sercon' at src/sercon.c:505:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:456:16: note: in expansion of macro 'GET_BDA' 456 | regs->al = GET_BDA(video_mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:457:16: note: in expansion of macro 'GET_BDA' 457 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cr' at src/sercon.c:263:27, inlined from 'sercon_100e' at src/sercon.c:442:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_backspace' at src/sercon.c:254:11, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_backspace' at src/sercon.c:257:35, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1009' at src/sercon.c:411:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1009' at src/sercon.c:411:31, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1009' at src/sercon.c:412:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1009' at src/sercon.c:427:33, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1006' at src/sercon.c:384:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1006' at src/sercon.c:385:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_1003', inlined from 'handle_sercon' at src/sercon.c:500:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:371:16: note: in expansion of macro 'GET_BDA' 371 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1003' at src/sercon.c:372:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1003' at src/sercon.c:373:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'sercon_1001', inlined from 'handle_sercon' at src/sercon.c:498:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:359:5: note: in expansion of macro 'SET_BDA' 359 | SET_BDA(cursor_type, regs->cx); | ^~~~~~~ In function 'cursor_pos_set', inlined from 'sercon_1000' at src/sercon.c:335:9, inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'sercon_1000', inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:336:9: note: in expansion of macro 'SET_BDA' 336 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:337:9: note: in expansion of macro 'SET_BDA' 337 | SET_BDA(video_cols, cols); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:338:9: note: in expansion of macro 'SET_BDA' 338 | SET_BDA(video_rows, rows-1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:339:9: note: in expansion of macro 'SET_BDA' 339 | SET_BDA(cursor_type, 0x0007); | ^~~~~~~ src/sercon.c: In function 'sercon_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/sercon.c:528:15: note: in expansion of macro 'GET_IVT' 528 | vgabios = GET_IVT(0x10); | ^~~~~~~ src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ Compile checking out/src/clock.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/clock.c -o out/src/clock.o In file included from src/biosvar.h:10, from src/clock.c:8: src/clock.c: In function 'clear_usertimer': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:389:11: note: in expansion of macro 'GET_BDA' 389 | if (!(GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING)) | ^~~~~~~ In function 'clear_usertimer', inlined from 'clear_usertimer' at src/clock.c:387:1: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:392:5: note: in expansion of macro 'SET_BDA' 392 | SET_BDA(rtc_wait_flag, 0); | ^~~~~~~ src/clock.c: In function 'clock_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In function 'handle_1a01', inlined from 'handle_1a' at src/clock.c:268:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(timer_counter, ticks); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:87:5: note: in expansion of macro 'SET_BDA' 87 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'handle_1a00', inlined from 'handle_1a' at src/clock.c:267:16: src/clock.c:73:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 73 | u32 ticks = GET_BDA(timer_counter); | ^~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:76:16: note: in expansion of macro 'GET_BDA' 76 | regs->al = GET_BDA(timer_rollover); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:77:5: note: in expansion of macro 'SET_BDA' 77 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'clock_update', inlined from 'handle_08' at src/clock.c:306:5: src/clock.c:284:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 284 | u32 counter = GET_BDA(timer_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:290:33: note: in expansion of macro 'GET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:292:5: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(timer_counter, counter); | ^~~~~~~ src/clock.c: In function 'handle_08': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/clock.c:312:29: note: in expansion of macro 'GET_IVT' 312 | struct segoff_s isr1c = GET_IVT(0x1c); | ^~~~~~~ src/clock.c: In function 'irqtimer_calc_ticks': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ src/clock.c: In function 'irqtimer_calc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ src/clock.c: In function 'irqtimer_check': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_1586' at src/clock.c:409:15: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:375:9: note: in expansion of macro 'GET_BDA' 375 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:379:5: note: in expansion of macro 'SET_BDA' 379 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:381:5: note: in expansion of macro 'SET_BDA' 381 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_158300' at src/clock.c:423:15, inlined from 'handle_1583' at src/clock.c:454:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:375:9: note: in expansion of macro 'GET_BDA' 375 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:379:5: note: in expansion of macro 'SET_BDA' 379 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:381:5: note: in expansion of macro 'SET_BDA' 381 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ src/clock.c: In function 'handle_70': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:490:10: note: in expansion of macro 'GET_BDA' 490 | if (!GET_BDA(rtc_wait_flag)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:494:16: note: in expansion of macro 'GET_BDA' 494 | u32 time = GET_BDA(user_wait_timeout); // Time left in microseconds. | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:507:9: note: in expansion of macro 'SET_BDA' 507 | SET_BDA(user_wait_timeout, time); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:497:34: note: in expansion of macro 'GET_BDA' 497 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:497:34: note: in expansion of macro 'GET_BDA' 497 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ Compile checking out/src/resume.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/resume.c -o out/src/resume.o Compile checking out/src/pnpbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pnpbios.c -o out/src/pnpbios.o Compile checking out/src/vgahooks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/vgahooks.c -o out/src/vgahooks.o Compile checking out/src/pcibios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pcibios.c -o out/src/pcibios.o Compile checking out/src/apm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/apm.c -o out/src/apm.o Compile checking out/src/cp437.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cp437.c -o out/src/cp437.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/timer.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/timer.c -o out/src/hw/timer.o Compile checking out/src/hw/rtc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/rtc.c -o out/src/hw/rtc.o Compile checking out/src/hw/dma.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/dma.c -o out/src/hw/dma.o Compile checking out/src/hw/pic.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pic.c -o out/src/hw/pic.o Compile checking out/src/hw/ps2port.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ps2port.c -o out/src/hw/ps2port.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/src/hw/usb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb.c -o out/src/hw/usb.o Compile checking out/src/hw/usb-uhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uhci.c -o out/src/hw/usb-uhci.o Compile checking out/src/hw/usb-ohci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ohci.c -o out/src/hw/usb-ohci.o Compile checking out/src/hw/usb-ehci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ehci.c -o out/src/hw/usb-ehci.o Compile checking out/src/hw/usb-hid.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hid.c -o out/src/hw/usb-hid.o Compile checking out/src/hw/usb-msc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-msc.c -o out/src/hw/usb-msc.o Compile checking out/src/hw/usb-uas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uas.c -o out/src/hw/usb-uas.o Compile checking out/src/hw/blockcmd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/blockcmd.c -o out/src/hw/blockcmd.o Compile checking out/src/hw/floppy.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/floppy.c -o out/src/hw/floppy.o In file included from src/biosvar.h:10, from src/hw/floppy.c:8: src/hw/floppy.c: In function 'floppy_wait_irq': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:226:14: note: in expansion of macro 'GET_BDA' 226 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:227:5: note: in expansion of macro 'SET_BDA' 227 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:235:15: note: in expansion of macro 'GET_BDA' 235 | frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:243:5: note: in expansion of macro 'SET_BDA' 243 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_drive_pio': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:372:5: note: in expansion of macro 'SET_BDA' 372 | SET_BDA(floppy_motor_counter, 255); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:387:5: note: in expansion of macro 'SET_BDA' 387 | SET_BDA(floppy_motor_counter, FLOPPY_MOTOR_TICKS); // reset motor timeout | ^~~~~~~ src/hw/floppy.c: In function 'floppy_prep': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:494:11: note: in expansion of macro 'GET_BDA' 494 | if (!(GET_BDA(floppy_recalibration_status) & (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:414:5: note: in expansion of macro 'SET_BDA' 414 | SET_BDA(floppy_recalibration_status, frs | (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:478:5: note: in expansion of macro 'SET_BDA' 478 | SET_BDA(floppy_last_data_rate, (old_data_rate<<2) | (data_rate<<6)); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_setup': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'floppy_reset', inlined from 'floppy_process_op' at src/hw/floppy.c:691:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:594:5: note: in expansion of macro 'SET_BDA' 594 | SET_BDA(floppy_recalibration_status, 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:595:5: note: in expansion of macro 'SET_BDA' 595 | SET_BDA(floppy_media_state[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:596:5: note: in expansion of macro 'SET_BDA' 596 | SET_BDA(floppy_media_state[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:597:5: note: in expansion of macro 'SET_BDA' 597 | SET_BDA(floppy_track[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:598:5: note: in expansion of macro 'SET_BDA' 598 | SET_BDA(floppy_track[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:599:5: note: in expansion of macro 'SET_BDA' 599 | SET_BDA(floppy_last_data_rate, 0); | ^~~~~~~ src/hw/floppy.c: In function 'handle_0e': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:719:14: note: in expansion of macro 'GET_BDA' 719 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:720:5: note: in expansion of macro 'SET_BDA' 720 | SET_BDA(floppy_recalibration_status, frs | FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_tick': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:733:17: note: in expansion of macro 'GET_BDA' 733 | u8 fcount = GET_BDA(floppy_motor_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:736:9: note: in expansion of macro 'SET_BDA' 736 | SET_BDA(floppy_motor_counter, fcount); | ^~~~~~~ Compile checking out/src/hw/ata.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ata.c -o out/src/hw/ata.o In file included from src/biosvar.h:10, from src/hw/ata.c:9: src/hw/ata.c: In function 'ata_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ Compile checking out/src/hw/ramdisk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ramdisk.c -o out/src/hw/ramdisk.o Compile checking out/src/hw/lsi-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/lsi-scsi.c -o out/src/hw/lsi-scsi.o Compile checking out/src/hw/esp-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/esp-scsi.c -o out/src/hw/esp-scsi.o Compile checking out/src/hw/megasas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/megasas.c -o out/src/hw/megasas.o Compile checking out/src/hw/mpt-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/mpt-scsi.c -o out/src/hw/mpt-scsi.o Compile checking out/src/post.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/post.c -o out/src/post.o In file included from src/biosvar.h:10, from src/post.c:8: In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'bda_init' at src/post.c:91:46, inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/e820map.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/e820map.c -o out/src/e820map.o Compile checking out/src/malloc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/malloc.c -o out/src/malloc.o In file included from src/biosvar.h:10, from src/malloc.c:7: src/malloc.c: In function 'malloc_prepboot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ Compile checking out/src/romfile.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/romfile.c -o out/src/romfile.o Compile checking out/src/x86.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/x86.c -o out/src/x86.o Compile checking out/src/optionroms.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/optionroms.c -o out/src/optionroms.o In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:344:28: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:348:9: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In file included from src/optionroms.c:10: In function 'boot_irq_restore', inlined from 'init_pcirom' at src/optionroms.c:354:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ Compile checking out/src/pmm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pmm.c -o out/src/pmm.o Compile checking out/src/font.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/font.c -o out/src/font.o Compile checking out/src/boot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/boot.c -o out/src/boot.o Compile checking out/src/bootsplash.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bootsplash.c -o out/src/bootsplash.o Compile checking out/src/jpeg.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/jpeg.c -o out/src/jpeg.o Compile checking out/src/bmp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bmp.c -o out/src/bmp.o Compile checking out/src/tcgbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/tcgbios.c -o out/src/tcgbios.o Compile checking out/src/sha1.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha1.c -o out/src/sha1.o Compile checking out/src/hw/pcidevice.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pcidevice.c -o out/src/hw/pcidevice.o Compile checking out/src/hw/ahci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ahci.c -o out/src/hw/ahci.o Compile checking out/src/hw/pvscsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pvscsi.c -o out/src/hw/pvscsi.o Compile checking out/src/hw/usb-xhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-xhci.c -o out/src/hw/usb-xhci.o Compile checking out/src/hw/usb-hub.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hub.c -o out/src/hw/usb-hub.o Compile checking out/src/hw/sdcard.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/sdcard.c -o out/src/hw/sdcard.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/src/fw/lzmadecode.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/lzmadecode.c -o out/src/fw/lzmadecode.o Compile checking out/src/fw/multiboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/multiboot.c -o out/src/fw/multiboot.o Compile checking out/src/fw/csm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/csm.c -o out/src/fw/csm.o In function 'handle_csm_0002', inlined from 'handle_csm' at src/fw/csm.c:309:16: src/fw/csm.c:185:18: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 185 | bda->hdcount = 0; | ~~~~~~~~~~~~~^~~ Compile checking out/src/fw/biostables.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/biostables.c -o out/src/fw/biostables.o Compile checking out/src/fw/paravirt.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/paravirt.c -o out/src/fw/paravirt.o Compile checking out/src/fw/shadow.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/shadow.c -o out/src/fw/shadow.o Compile checking out/src/fw/pciinit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pciinit.c -o out/src/fw/pciinit.o Compile checking out/src/fw/smm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smm.c -o out/src/fw/smm.o Compile checking out/src/fw/smp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smp.c -o out/src/fw/smp.o Compile checking out/src/fw/mtrr.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mtrr.c -o out/src/fw/mtrr.o Compile checking out/src/fw/xen.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/xen.c -o out/src/fw/xen.o Compile checking out/src/fw/acpi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/acpi.c -o out/src/fw/acpi.o Compile checking out/src/fw/mptable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mptable.c -o out/src/fw/mptable.o Compile checking out/src/fw/pirtable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pirtable.c -o out/src/fw/pirtable.o Compile checking out/src/fw/smbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smbios.c -o out/src/fw/smbios.o Compile checking out/src/fw/romfile_loader.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/romfile_loader.c -o out/src/fw/romfile_loader.o Compile checking out/src/fw/dsdt_parser.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/dsdt_parser.c -o out/src/fw/dsdt_parser.o Compile checking out/src/hw/virtio-ring.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-ring.c -o out/src/hw/virtio-ring.o Compile checking out/src/hw/virtio-pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-pci.c -o out/src/hw/virtio-pci.o Compile checking out/src/hw/virtio-mmio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-mmio.c -o out/src/hw/virtio-mmio.o Compile checking out/src/hw/virtio-blk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-blk.c -o out/src/hw/virtio-blk.o Compile checking out/src/hw/virtio-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-scsi.c -o out/src/hw/virtio-scsi.o Compile checking out/src/hw/tpm_drivers.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/tpm_drivers.c -o out/src/hw/tpm_drivers.o Compile checking out/src/hw/nvme.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/nvme.c -o out/src/hw/nvme.o Compile checking out/src/sha256.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha256.c -o out/src/sha256.o Compile checking out/src/sha512.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha512.c -o out/src/sha512.o Compiling whole program out/ccode32flat.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n #include "src/post.c"\n #include "src/e820map.c"\n #include "src/malloc.c"\n #include "src/romfile.c"\n #include "src/x86.c"\n #include "src/optionroms.c"\n #include "src/pmm.c"\n #include "src/font.c"\n #include "src/boot.c"\n #include "src/bootsplash.c"\n #include "src/jpeg.c"\n #include "src/bmp.c"\n #include "src/tcgbios.c"\n #include "src/sha1.c"\n #include "src/hw/pcidevice.c"\n #include "src/hw/ahci.c"\n #include "src/hw/pvscsi.c"\n #include "src/hw/usb-xhci.c"\n #include "src/hw/usb-hub.c"\n #include "src/hw/sdcard.c"\n #include "src/fw/coreboot.c"\n #include "src/fw/lzmadecode.c"\n #include "src/fw/multiboot.c"\n #include "src/fw/csm.c"\n #include "src/fw/biostables.c"\n #include "src/fw/paravirt.c"\n #include "src/fw/shadow.c"\n #include "src/fw/pciinit.c"\n #include "src/fw/smm.c"\n #include "src/fw/smp.c"\n #include "src/fw/mtrr.c"\n #include "src/fw/xen.c"\n #include "src/fw/acpi.c"\n #include "src/fw/mptable.c"\n #include "src/fw/pirtable.c"\n #include "src/fw/smbios.c"\n #include "src/fw/romfile_loader.c"\n #include "src/fw/dsdt_parser.c"\n #include "src/hw/virtio-ring.c"\n #include "src/hw/virtio-pci.c"\n #include "src/hw/virtio-mmio.c"\n #include "src/hw/virtio-blk.c"\n #include "src/hw/virtio-scsi.c"\n #include "src/hw/tpm_drivers.c"\n #include "src/hw/nvme.c"\n #include "src/sha256.c"\n #include "src/sha512.c"\n' > out/ccode32flat.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -fwhole-program -DWHOLE_PROGRAM -c out/ccode32flat.o.tmp.c -o out/ccode32flat.o In file included from ./src/biosvar.h:10, from ./src/misc.c:8, from out/ccode32flat.o.tmp.c:1: In function 'irqtimer_calc_ticks', inlined from 'irqtimer_calc' at ./src/clock.c:356:12, inlined from 'irqtimer_calc' at ./src/clock.c:352:1: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ ./src/clock.c: In function 'irqtimer_calc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ ./src/clock.c: In function 'clock_setup': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ ./src/output.c: In function 'screenc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ ./src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ In function 'irqtimer_check', inlined from 'get_keystroke_full' at ./src/boot.c:661:13: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at ./src/post.c:114:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'bda_init' at ./src/post.c:91:46, inlined from 'interface_init' at ./src/post.c:114:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'kbd_init', inlined from 'interface_init' at ./src/post.c:121:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mouse_init' at ./src/mouse.c:23:5, inlined from 'interface_init' at ./src/post.c:122:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'irqtimer_check', inlined from 'boot_fail' at ./src/boot.c:974:41: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:47: In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:344:28: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:348:9: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_restore', inlined from 'init_pcirom' at ./src/optionroms.c:354:9: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ In function 'irqtimer_check', inlined from 'interactive_bootmenu' at ./src/boot.c:755:37: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'floppy_setup', inlined from 'block_setup' at ./src/block.c:510:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'ata_setup', inlined from 'block_setup' at ./src/block.c:511:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at ./src/serial.c:212:14, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at ./src/serial.c:217:5, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'serial_setup' at ./src/serial.c:56:5, inlined from 'device_hardware_setup' at ./src/post.c:133:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'malloc_prepboot', inlined from 'prepareboot' at ./src/post.c:172:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:5: In function 'map_hd_drive', inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ~~~^~~~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'fill_fdpt' at ./src/block.c:213:28, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:239:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:236:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:296:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:292:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at ./src/misc.c:66:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ ./src/cdrom.c: In function 'cdrom_boot': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at ./src/cdrom.c:242:9: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:12: In function 'sercon_setup', inlined from 'maininit' at ./src/post.c:211:5: ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:65: In function 'handle_csm_0002', inlined from 'handle_csm' at ./src/fw/csm.c:309:16: ./src/fw/csm.c:185:18: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 185 | bda->hdcount = 0; | ~~~~~~~~~~~~~^~~ Compiling whole program out/code32seg.o printf '#include "src/string.c"\n #include "src/output.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/stacks.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n' > out/code32seg.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=0 -fwhole-program -DWHOLE_PROGRAM -c out/code32seg.o.tmp.c -o out/code32seg.o Compiling whole program out/ccode16.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n' > out/ccode16.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fwhole-program -DWHOLE_PROGRAM -c out/ccode16.o.tmp.c -o out/ccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/romlayout.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ src/romlayout.S -o out/romlayout.o Building ld scripts python3 ./scripts/buildversion.py -e "-2.fc37" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autoversion.h Version: 1.16.2-2.fc37 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/version.c -o out/version.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode32flat.o out/version.o -o out/code32flat.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode16.o out/romlayout.o -o out/code16.o x86_64-linux-gnu-objdump -thr out/code32flat.o > out/code32flat.o.objdump x86_64-linux-gnu-objdump -thr out/code32seg.o > out/code32seg.o.objdump x86_64-linux-gnu-objdump -thr out/code16.o > out/code16.o.objdump python3 ./scripts/layoutrom.py out/code16.o.objdump out/code32seg.o.objdump out/code32flat.o.objdump out/autoconf.h out/romlayout16.lds out/romlayout32seg.lds out/romlayout32flat.lds Fixed space: 0xe05b-0x10000 total: 8101 slack: 16 Percent slack: 0.2% 16bit size: 36736 32bit segmented size: 2309 32bit flat size: 37771 32bit flat init size: 55456 Lowmem size: 2224 f-segment var size: 1392 Linking out/rom16.o x86_64-linux-gnu-ld -T out/romlayout16.lds out/code16.o -o out/rom16.o Stripping out/rom16.noexec.o x86_64-linux-gnu-strip out/rom16.o -o out/rom16.o.strip.o python3 ./scripts/ldnoexec.py out/rom16.o.strip.o out/rom16.noexec.o Linking out/rom32seg.o x86_64-linux-gnu-ld -T out/romlayout32seg.lds out/code32seg.o -o out/rom32seg.o Stripping out/rom32seg.noexec.o x86_64-linux-gnu-strip out/rom32seg.o -o out/rom32seg.o.strip.o python3 ./scripts/ldnoexec.py out/rom32seg.o.strip.o out/rom32seg.noexec.o Linking out/rom.o x86_64-linux-gnu-ld -N -T out/romlayout32flat.lds out/rom16.noexec.o out/rom32seg.noexec.o out/code32flat.o -o out/rom.o Prepping out/bios.bin.prep rm -f out/bios.bin out/Csm16.bin out/bios.bin.elf x86_64-linux-gnu-objdump -thr out/rom.o > out/rom.o.objdump x86_64-linux-gnu-objcopy -O binary out/rom.o out/bios.bin.raw python3 ./scripts/checkrom.py out/rom.o.objdump 0 out/bios.bin.raw out/bios.bin.prep Total size: 139904 Fixed: 78208 Free: 122240 (used 53.4% of 256KiB rom) Creating out/Csm16.bin cp out/bios.bin.prep out/Csm16.bin + cp out/Csm16.bin binaries/bios-csm.bin + build_bios /builddir/build/SOURCES/config.coreboot bios.bin.elf bios-coreboot.bin + make clean distclean + cp /builddir/build/SOURCES/config.coreboot .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.2/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' + make V=1 EXTRAVERSION=-2.fc37 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' Compile checking out/src/misc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/misc.c -o out/src/misc.o In file included from src/biosvar.h:10, from src/misc.c:8: src/misc.c: In function 'handle_12': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:36:16: note: in expansion of macro 'GET_BDA' 36 | regs->ax = GET_BDA(mem_size_kb); | ^~~~~~~ src/misc.c: In function 'handle_11': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:44:16: note: in expansion of macro 'GET_BDA' 44 | regs->ax = GET_BDA(equipment_list_flags); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at src/misc.c:66:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/stacks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/stacks.c -o out/src/stacks.o Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/block.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/block.c -o out/src/block.o src/block.c: In function 'map_hd_drive': src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ^~ In file included from src/biosvar.h:10, from src/block.c:8: In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'fill_fdpt' at src/block.c:213:28, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:239:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:236:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:296:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:292:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compile checking out/src/cdrom.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cdrom.c -o out/src/cdrom.o In file included from src/biosvar.h:10, from src/cdrom.c:8: src/cdrom.c: In function 'cdrom_boot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at src/cdrom.c:242:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/disk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/disk.c -o out/src/disk.o In file included from src/biosvar.h:10, from src/disk.c:8: src/disk.c: In function '__disk_ret_unimplemented': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:45:9: note: in expansion of macro 'SET_BDA' 45 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:43:9: note: in expansion of macro 'SET_BDA' 43 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function '__disk_ret': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:31:9: note: in expansion of macro 'SET_BDA' 31 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:29:9: note: in expansion of macro 'SET_BDA' 29 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function 'disk_1308': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/disk.c:297:17: note: in expansion of macro 'GET_BDA' 297 | count = GET_BDA(hdcount); | ^~~~~~~ src/disk.c: In function 'disk_13': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:626:5: note: in expansion of macro 'SET_BDA' 626 | SET_BDA(disk_interrupt_flag, 0); | ^~~~~~~ In function 'disk_1301', inlined from 'disk_13' at src/disk.c:630:16: src/disk.c:218:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 218 | v = GET_BDA(disk_last_status); src/disk.c:216:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 216 | v = GET_BDA(floppy_last_status); src/disk.c: In function 'handle_76': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:777:5: note: in expansion of macro 'SET_BDA' 777 | SET_BDA(disk_interrupt_flag, 0xff); | ^~~~~~~ Compile checking out/src/mouse.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/mouse.c -o out/src/mouse.o In file included from src/mouse.c:8: In function 'set_equipment_flags', inlined from 'mouse_init' at src/mouse.c:23:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c207' at src/mouse.c:231:20, inlined from 'handle_15c2' at src/mouse.c:272:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c205' at src/mouse.c:162:20, inlined from 'handle_15c2' at src/mouse.c:270:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c20001' at src/mouse.c:56:20, inlined from 'mouse_15c200' at src/mouse.c:82:16, inlined from 'handle_15c2' at src/mouse.c:265:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'process_mouse' at src/mouse.c:322:20: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/kbd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/kbd.c -o out/src/kbd.o In file included from src/biosvar.h:10, from src/kbd.c:8: src/kbd.c: In function 'kbd_set_flag': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:397:18: note: in expansion of macro 'GET_BDA' 397 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:398:17: note: in expansion of macro 'GET_BDA' 398 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:407:5: note: in expansion of macro 'SET_BDA' 407 | SET_BDA(kbd_flag0, flags0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:408:5: note: in expansion of macro 'SET_BDA' 408 | SET_BDA(kbd_flag1, flags1); | ^~~~~~~ src/kbd.c: In function 'set_leds': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:230:23: note: in expansion of macro 'GET_BDA' 230 | u8 shift_flags = (GET_BDA(kbd_flag0) >> 4) & 0x07; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:231:18: note: in expansion of macro 'GET_BDA' 231 | u8 kbd_led = GET_BDA(kbd_led); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:241:5: note: in expansion of macro 'SET_BDA' 241 | SET_BDA(kbd_led, kbd_led); | ^~~~~~~ src/kbd.c: In function 'dequeue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:61:23: note: in expansion of macro 'GET_BDA' 61 | buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:62:23: note: in expansion of macro 'GET_BDA' 62 | buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:98:24: note: in expansion of macro 'GET_BDA' 98 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:99:24: note: in expansion of macro 'GET_BDA' 99 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:104:5: note: in expansion of macro 'SET_BDA' 104 | SET_BDA(kbd_buf_head, buffer_head); | ^~~~~~~ src/kbd.c: In function 'kbd_init': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ src/kbd.c: In function 'enqueue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:35:24: note: in expansion of macro 'GET_BDA' 35 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:36:24: note: in expansion of macro 'GET_BDA' 36 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:38:23: note: in expansion of macro 'GET_BDA' 38 | u16 buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:39:23: note: in expansion of macro 'GET_BDA' 39 | u16 buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:50:5: note: in expansion of macro 'SET_BDA' 50 | SET_BDA(kbd_buf_tail, buffer_tail); | ^~~~~~~ In function 'handle_1612', inlined from 'handle_16' at src/kbd.c:264:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:193:18: note: in expansion of macro 'GET_BDA' 193 | regs->ax = ((GET_BDA(kbd_flag0) & ~((KF1_RCTRL|KF1_RALT) << 8)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:194:21: note: in expansion of macro 'GET_BDA' 194 | | ((GET_BDA(kbd_flag1) & (KF1_RCTRL|KF1_RALT)) << 8)); | ^~~~~~~ In function 'handle_1602', inlined from 'handle_16' at src/kbd.c:258:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:134:16: note: in expansion of macro 'GET_BDA' 134 | regs->al = GET_BDA(kbd_flag0); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:459:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 459 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:473:9: note: in expansion of macro 'SET_BDA' 473 | SET_BDA(kbd_flag1, flags1 & ~(KF1_LAST_E0|KF1_LAST_E1)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:529:14: note: in expansion of macro 'GET_BDA' 529 | if ((GET_BDA(kbd_flag0) & (KF0_CTRLACTIVE|KF0_ALTACTIVE)) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:532:13: note: in expansion of macro 'SET_BDA' 532 | SET_BDA(soft_reset_flag, 0x1234); | ^~~~~~~ In function 'kbd_ctrl_break', inlined from '__process_key' at src/kbd.c:513:13, inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:417:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 417 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:418:5: note: in expansion of macro 'SET_BDA' 418 | SET_BDA(kbd_buf_head, buffer_start); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:419:5: note: in expansion of macro 'SET_BDA' 419 | SET_BDA(kbd_buf_tail, buffer_start+2); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:422:5: note: in expansion of macro 'SET_BDA' 422 | SET_BDA(break_flag, 0x80); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:552:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 552 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:463:9: note: in expansion of macro 'SET_BDA' 463 | SET_BDA(kbd_flag1, flags1 | eflag); | ^~~~~~~ Compile checking out/src/system.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/system.c -o out/src/system.o In file included from src/biosvar.h:10, from src/system.c:8: In function 'get_ebda_seg', inlined from 'handle_15c1' at src/system.c:255:16, inlined from 'handle_15' at src/system.c:352:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/serial.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/serial.c -o out/src/serial.o In file included from src/serial.c:8: In function 'set_equipment_flags', inlined from 'serial_setup' at src/serial.c:56:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at src/serial.c:212:14: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at src/serial.c:217:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/sercon.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sercon.c -o out/src/sercon.o In file included from src/biosvar.h:10, from src/sercon.c:7: In function 'cursor_pos_set', inlined from 'sercon_cursor_pos_set' at src/sercon.c:190:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_lf' at src/sercon.c:270:11: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_lazy_lf' at src/sercon.c:271:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cursor_sync' at src/sercon.c:198:14, inlined from 'sercon_lazy_flush' at src/sercon.c:236:5: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_putchar' at src/sercon.c:296:9: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:285:11, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_cols', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:286:16, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_100f', inlined from 'handle_sercon' at src/sercon.c:505:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:456:16: note: in expansion of macro 'GET_BDA' 456 | regs->al = GET_BDA(video_mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:457:16: note: in expansion of macro 'GET_BDA' 457 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cr' at src/sercon.c:263:27, inlined from 'sercon_100e' at src/sercon.c:442:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_backspace' at src/sercon.c:254:11, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_backspace' at src/sercon.c:257:35, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1009' at src/sercon.c:411:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1009' at src/sercon.c:411:31, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1009' at src/sercon.c:412:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1009' at src/sercon.c:427:33, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1006' at src/sercon.c:384:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1006' at src/sercon.c:385:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_1003', inlined from 'handle_sercon' at src/sercon.c:500:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:371:16: note: in expansion of macro 'GET_BDA' 371 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1003' at src/sercon.c:372:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1003' at src/sercon.c:373:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'sercon_1001', inlined from 'handle_sercon' at src/sercon.c:498:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:359:5: note: in expansion of macro 'SET_BDA' 359 | SET_BDA(cursor_type, regs->cx); | ^~~~~~~ In function 'cursor_pos_set', inlined from 'sercon_1000' at src/sercon.c:335:9, inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'sercon_1000', inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:336:9: note: in expansion of macro 'SET_BDA' 336 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:337:9: note: in expansion of macro 'SET_BDA' 337 | SET_BDA(video_cols, cols); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:338:9: note: in expansion of macro 'SET_BDA' 338 | SET_BDA(video_rows, rows-1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:339:9: note: in expansion of macro 'SET_BDA' 339 | SET_BDA(cursor_type, 0x0007); | ^~~~~~~ src/sercon.c: In function 'sercon_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/sercon.c:528:15: note: in expansion of macro 'GET_IVT' 528 | vgabios = GET_IVT(0x10); | ^~~~~~~ src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ Compile checking out/src/clock.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/clock.c -o out/src/clock.o In file included from src/biosvar.h:10, from src/clock.c:8: src/clock.c: In function 'clear_usertimer': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:389:11: note: in expansion of macro 'GET_BDA' 389 | if (!(GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING)) | ^~~~~~~ In function 'clear_usertimer', inlined from 'clear_usertimer' at src/clock.c:387:1: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:392:5: note: in expansion of macro 'SET_BDA' 392 | SET_BDA(rtc_wait_flag, 0); | ^~~~~~~ src/clock.c: In function 'clock_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In function 'handle_1a01', inlined from 'handle_1a' at src/clock.c:268:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(timer_counter, ticks); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:87:5: note: in expansion of macro 'SET_BDA' 87 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'handle_1a00', inlined from 'handle_1a' at src/clock.c:267:16: src/clock.c:73:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 73 | u32 ticks = GET_BDA(timer_counter); | ^~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:76:16: note: in expansion of macro 'GET_BDA' 76 | regs->al = GET_BDA(timer_rollover); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:77:5: note: in expansion of macro 'SET_BDA' 77 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'clock_update', inlined from 'handle_08' at src/clock.c:306:5: src/clock.c:284:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 284 | u32 counter = GET_BDA(timer_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:290:33: note: in expansion of macro 'GET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:292:5: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(timer_counter, counter); | ^~~~~~~ src/clock.c: In function 'handle_08': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/clock.c:312:29: note: in expansion of macro 'GET_IVT' 312 | struct segoff_s isr1c = GET_IVT(0x1c); | ^~~~~~~ src/clock.c: In function 'irqtimer_calc_ticks': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ src/clock.c: In function 'irqtimer_calc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ src/clock.c: In function 'irqtimer_check': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_1586' at src/clock.c:409:15: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:375:9: note: in expansion of macro 'GET_BDA' 375 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:379:5: note: in expansion of macro 'SET_BDA' 379 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:381:5: note: in expansion of macro 'SET_BDA' 381 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ In function 'set_usertimer', inlined from 'handle_158300' at src/clock.c:423:15, inlined from 'handle_1583' at src/clock.c:454:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:375:9: note: in expansion of macro 'GET_BDA' 375 | if (GET_BDA(rtc_wait_flag) & RWS_WAIT_PENDING) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:379:5: note: in expansion of macro 'SET_BDA' 379 | SET_BDA(rtc_wait_flag, RWS_WAIT_PENDING); // Set status byte. | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:380:5: note: in expansion of macro 'SET_BDA' 380 | SET_BDA(user_wait_complete_flag, SEGOFF(seg, offset)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:381:5: note: in expansion of macro 'SET_BDA' 381 | SET_BDA(user_wait_timeout, usecs); | ^~~~~~~ src/clock.c: In function 'handle_70': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:490:10: note: in expansion of macro 'GET_BDA' 490 | if (!GET_BDA(rtc_wait_flag)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:494:16: note: in expansion of macro 'GET_BDA' 494 | u32 time = GET_BDA(user_wait_timeout); // Time left in microseconds. | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:507:9: note: in expansion of macro 'SET_BDA' 507 | SET_BDA(user_wait_timeout, time); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:497:34: note: in expansion of macro 'GET_BDA' 497 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:497:34: note: in expansion of macro 'GET_BDA' 497 | struct segoff_s segoff = GET_BDA(user_wait_complete_flag); | ^~~~~~~ Compile checking out/src/resume.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/resume.c -o out/src/resume.o Compile checking out/src/pnpbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pnpbios.c -o out/src/pnpbios.o Compile checking out/src/vgahooks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/vgahooks.c -o out/src/vgahooks.o Compile checking out/src/pcibios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pcibios.c -o out/src/pcibios.o Compile checking out/src/apm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/apm.c -o out/src/apm.o Compile checking out/src/cp437.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cp437.c -o out/src/cp437.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/timer.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/timer.c -o out/src/hw/timer.o Compile checking out/src/hw/rtc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/rtc.c -o out/src/hw/rtc.o Compile checking out/src/hw/dma.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/dma.c -o out/src/hw/dma.o Compile checking out/src/hw/pic.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pic.c -o out/src/hw/pic.o Compile checking out/src/hw/ps2port.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ps2port.c -o out/src/hw/ps2port.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/src/hw/usb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb.c -o out/src/hw/usb.o Compile checking out/src/hw/usb-uhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uhci.c -o out/src/hw/usb-uhci.o Compile checking out/src/hw/usb-ohci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ohci.c -o out/src/hw/usb-ohci.o Compile checking out/src/hw/usb-ehci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ehci.c -o out/src/hw/usb-ehci.o Compile checking out/src/hw/usb-hid.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hid.c -o out/src/hw/usb-hid.o Compile checking out/src/hw/usb-msc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-msc.c -o out/src/hw/usb-msc.o Compile checking out/src/hw/usb-uas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uas.c -o out/src/hw/usb-uas.o Compile checking out/src/hw/blockcmd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/blockcmd.c -o out/src/hw/blockcmd.o Compile checking out/src/hw/floppy.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/floppy.c -o out/src/hw/floppy.o In file included from src/biosvar.h:10, from src/hw/floppy.c:8: src/hw/floppy.c: In function 'floppy_wait_irq': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:226:14: note: in expansion of macro 'GET_BDA' 226 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:227:5: note: in expansion of macro 'SET_BDA' 227 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:235:15: note: in expansion of macro 'GET_BDA' 235 | frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:243:5: note: in expansion of macro 'SET_BDA' 243 | SET_BDA(floppy_recalibration_status, frs & ~FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_drive_pio': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:372:5: note: in expansion of macro 'SET_BDA' 372 | SET_BDA(floppy_motor_counter, 255); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:387:5: note: in expansion of macro 'SET_BDA' 387 | SET_BDA(floppy_motor_counter, FLOPPY_MOTOR_TICKS); // reset motor timeout | ^~~~~~~ src/hw/floppy.c: In function 'floppy_prep': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:494:11: note: in expansion of macro 'GET_BDA' 494 | if (!(GET_BDA(floppy_recalibration_status) & (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:414:5: note: in expansion of macro 'SET_BDA' 414 | SET_BDA(floppy_recalibration_status, frs | (1<var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:478:5: note: in expansion of macro 'SET_BDA' 478 | SET_BDA(floppy_last_data_rate, (old_data_rate<<2) | (data_rate<<6)); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_setup': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'floppy_reset', inlined from 'floppy_process_op' at src/hw/floppy.c:691:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:594:5: note: in expansion of macro 'SET_BDA' 594 | SET_BDA(floppy_recalibration_status, 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:595:5: note: in expansion of macro 'SET_BDA' 595 | SET_BDA(floppy_media_state[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:596:5: note: in expansion of macro 'SET_BDA' 596 | SET_BDA(floppy_media_state[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:597:5: note: in expansion of macro 'SET_BDA' 597 | SET_BDA(floppy_track[0], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:598:5: note: in expansion of macro 'SET_BDA' 598 | SET_BDA(floppy_track[1], 0); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:599:5: note: in expansion of macro 'SET_BDA' 599 | SET_BDA(floppy_last_data_rate, 0); | ^~~~~~~ src/hw/floppy.c: In function 'handle_0e': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:719:14: note: in expansion of macro 'GET_BDA' 719 | u8 frs = GET_BDA(floppy_recalibration_status); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:720:5: note: in expansion of macro 'SET_BDA' 720 | SET_BDA(floppy_recalibration_status, frs | FRS_IRQ); | ^~~~~~~ src/hw/floppy.c: In function 'floppy_tick': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/hw/floppy.c:733:17: note: in expansion of macro 'GET_BDA' 733 | u8 fcount = GET_BDA(floppy_motor_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/floppy.c:736:9: note: in expansion of macro 'SET_BDA' 736 | SET_BDA(floppy_motor_counter, fcount); | ^~~~~~~ Compile checking out/src/hw/ata.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ata.c -o out/src/hw/ata.o In file included from src/biosvar.h:10, from src/hw/ata.c:9: src/hw/ata.c: In function 'ata_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ Compile checking out/src/hw/ramdisk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ramdisk.c -o out/src/hw/ramdisk.o Compile checking out/src/hw/lsi-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/lsi-scsi.c -o out/src/hw/lsi-scsi.o Compile checking out/src/hw/esp-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/esp-scsi.c -o out/src/hw/esp-scsi.o Compile checking out/src/hw/megasas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/megasas.c -o out/src/hw/megasas.o Compile checking out/src/hw/mpt-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/mpt-scsi.c -o out/src/hw/mpt-scsi.o Compile checking out/src/post.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/post.c -o out/src/post.o In file included from src/biosvar.h:10, from src/post.c:8: In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'bda_init' at src/post.c:91:46, inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/e820map.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/e820map.c -o out/src/e820map.o Compile checking out/src/malloc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/malloc.c -o out/src/malloc.o In file included from src/biosvar.h:10, from src/malloc.c:7: src/malloc.c: In function 'malloc_prepboot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ Compile checking out/src/romfile.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/romfile.c -o out/src/romfile.o Compile checking out/src/x86.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/x86.c -o out/src/x86.o Compile checking out/src/optionroms.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/optionroms.c -o out/src/optionroms.o In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:344:28: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:348:9: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In file included from src/optionroms.c:10: In function 'boot_irq_restore', inlined from 'init_pcirom' at src/optionroms.c:354:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ Compile checking out/src/pmm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pmm.c -o out/src/pmm.o Compile checking out/src/font.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/font.c -o out/src/font.o Compile checking out/src/boot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/boot.c -o out/src/boot.o Compile checking out/src/bootsplash.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bootsplash.c -o out/src/bootsplash.o Compile checking out/src/jpeg.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/jpeg.c -o out/src/jpeg.o Compile checking out/src/bmp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bmp.c -o out/src/bmp.o Compile checking out/src/tcgbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/tcgbios.c -o out/src/tcgbios.o Compile checking out/src/sha1.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha1.c -o out/src/sha1.o Compile checking out/src/hw/pcidevice.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pcidevice.c -o out/src/hw/pcidevice.o Compile checking out/src/hw/ahci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ahci.c -o out/src/hw/ahci.o Compile checking out/src/hw/pvscsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pvscsi.c -o out/src/hw/pvscsi.o Compile checking out/src/hw/usb-xhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-xhci.c -o out/src/hw/usb-xhci.o Compile checking out/src/hw/usb-hub.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hub.c -o out/src/hw/usb-hub.o Compile checking out/src/hw/sdcard.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/sdcard.c -o out/src/hw/sdcard.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/src/fw/lzmadecode.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/lzmadecode.c -o out/src/fw/lzmadecode.o Compile checking out/src/fw/multiboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/multiboot.c -o out/src/fw/multiboot.o Compile checking out/src/fw/csm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/csm.c -o out/src/fw/csm.o Compile checking out/src/fw/biostables.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/biostables.c -o out/src/fw/biostables.o Compile checking out/src/fw/paravirt.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/paravirt.c -o out/src/fw/paravirt.o Compile checking out/src/fw/shadow.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/shadow.c -o out/src/fw/shadow.o Compile checking out/src/fw/pciinit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pciinit.c -o out/src/fw/pciinit.o Compile checking out/src/fw/smm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smm.c -o out/src/fw/smm.o Compile checking out/src/fw/smp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smp.c -o out/src/fw/smp.o Compile checking out/src/fw/mtrr.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mtrr.c -o out/src/fw/mtrr.o Compile checking out/src/fw/xen.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/xen.c -o out/src/fw/xen.o Compile checking out/src/fw/acpi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/acpi.c -o out/src/fw/acpi.o Compile checking out/src/fw/mptable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mptable.c -o out/src/fw/mptable.o Compile checking out/src/fw/pirtable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pirtable.c -o out/src/fw/pirtable.o Compile checking out/src/fw/smbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smbios.c -o out/src/fw/smbios.o Compile checking out/src/fw/romfile_loader.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/romfile_loader.c -o out/src/fw/romfile_loader.o Compile checking out/src/fw/dsdt_parser.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/dsdt_parser.c -o out/src/fw/dsdt_parser.o Compile checking out/src/hw/virtio-ring.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-ring.c -o out/src/hw/virtio-ring.o Compile checking out/src/hw/virtio-pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-pci.c -o out/src/hw/virtio-pci.o Compile checking out/src/hw/virtio-mmio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-mmio.c -o out/src/hw/virtio-mmio.o Compile checking out/src/hw/virtio-blk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-blk.c -o out/src/hw/virtio-blk.o Compile checking out/src/hw/virtio-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-scsi.c -o out/src/hw/virtio-scsi.o Compile checking out/src/hw/tpm_drivers.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/tpm_drivers.c -o out/src/hw/tpm_drivers.o Compile checking out/src/hw/nvme.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/nvme.c -o out/src/hw/nvme.o Compile checking out/src/sha256.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha256.c -o out/src/sha256.o Compile checking out/src/sha512.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha512.c -o out/src/sha512.o Compiling whole program out/ccode32flat.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n #include "src/post.c"\n #include "src/e820map.c"\n #include "src/malloc.c"\n #include "src/romfile.c"\n #include "src/x86.c"\n #include "src/optionroms.c"\n #include "src/pmm.c"\n #include "src/font.c"\n #include "src/boot.c"\n #include "src/bootsplash.c"\n #include "src/jpeg.c"\n #include "src/bmp.c"\n #include "src/tcgbios.c"\n #include "src/sha1.c"\n #include "src/hw/pcidevice.c"\n #include "src/hw/ahci.c"\n #include "src/hw/pvscsi.c"\n #include "src/hw/usb-xhci.c"\n #include "src/hw/usb-hub.c"\n #include "src/hw/sdcard.c"\n #include "src/fw/coreboot.c"\n #include "src/fw/lzmadecode.c"\n #include "src/fw/multiboot.c"\n #include "src/fw/csm.c"\n #include "src/fw/biostables.c"\n #include "src/fw/paravirt.c"\n #include "src/fw/shadow.c"\n #include "src/fw/pciinit.c"\n #include "src/fw/smm.c"\n #include "src/fw/smp.c"\n #include "src/fw/mtrr.c"\n #include "src/fw/xen.c"\n #include "src/fw/acpi.c"\n #include "src/fw/mptable.c"\n #include "src/fw/pirtable.c"\n #include "src/fw/smbios.c"\n #include "src/fw/romfile_loader.c"\n #include "src/fw/dsdt_parser.c"\n #include "src/hw/virtio-ring.c"\n #include "src/hw/virtio-pci.c"\n #include "src/hw/virtio-mmio.c"\n #include "src/hw/virtio-blk.c"\n #include "src/hw/virtio-scsi.c"\n #include "src/hw/tpm_drivers.c"\n #include "src/hw/nvme.c"\n #include "src/sha256.c"\n #include "src/sha512.c"\n' > out/ccode32flat.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -fwhole-program -DWHOLE_PROGRAM -c out/ccode32flat.o.tmp.c -o out/ccode32flat.o In file included from ./src/biosvar.h:10, from ./src/misc.c:8, from out/ccode32flat.o.tmp.c:1: In function 'irqtimer_calc_ticks', inlined from 'irqtimer_calc' at ./src/clock.c:356:12, inlined from 'irqtimer_calc' at ./src/clock.c:352:1: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ ./src/clock.c: In function 'irqtimer_calc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ ./src/output.c: In function 'screenc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ ./src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ In function 'irqtimer_check', inlined from 'get_keystroke_full' at ./src/boot.c:661:13: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at ./src/post.c:114:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'bda_init' at ./src/post.c:91:46, inlined from 'interface_init' at ./src/post.c:114:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'kbd_init', inlined from 'interface_init' at ./src/post.c:121:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mouse_init' at ./src/mouse.c:23:5, inlined from 'interface_init' at ./src/post.c:122:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'irqtimer_check', inlined from 'boot_fail' at ./src/boot.c:974:41: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:47: In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:344:28: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:348:9: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_restore', inlined from 'init_pcirom' at ./src/optionroms.c:354:9: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ In function 'floppy_setup', inlined from 'block_setup' at ./src/block.c:510:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'ata_setup', inlined from 'block_setup' at ./src/block.c:511:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/hw/ata.c:1051:5: note: in expansion of macro 'SET_BDA' 1051 | SET_BDA(disk_control_byte, 0xc0); | ^~~~~~~ In function 'detect_parport', inlined from 'lpt_setup' at ./src/serial.c:212:14, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:199:5: note: in expansion of macro 'SET_BDA' 199 | SET_BDA(port_lpt[count], port); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/serial.c:200:5: note: in expansion of macro 'SET_BDA' 200 | SET_BDA(lpt_timeout[count], timeout); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'lpt_setup' at ./src/serial.c:217:5, inlined from 'device_hardware_setup' at ./src/post.c:132:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'serial_setup' at ./src/serial.c:56:5, inlined from 'device_hardware_setup' at ./src/post.c:133:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at ./src/misc.c:66:5, inlined from 'platform_hardware_setup' at ./src/post.c:146:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'clock_setup', inlined from 'platform_hardware_setup' at ./src/post.c:154:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ ./src/cdrom.c: In function 'cdrom_boot': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at ./src/cdrom.c:242:9: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:12: In function 'sercon_setup', inlined from 'maininit' at ./src/post.c:211:5: ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ In function 'irqtimer_check', inlined from 'interactive_bootmenu' at ./src/boot.c:755:37, inlined from 'maininit' at ./src/post.c:224:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'malloc_prepboot', inlined from 'prepareboot' at ./src/post.c:172:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:5: In function 'map_hd_drive', inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ~~~^~~~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'fill_fdpt' at ./src/block.c:213:28, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:239:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:236:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:296:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:292:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compiling whole program out/code32seg.o printf '#include "src/string.c"\n #include "src/output.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/stacks.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n' > out/code32seg.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=0 -fwhole-program -DWHOLE_PROGRAM -c out/code32seg.o.tmp.c -o out/code32seg.o Compiling whole program out/ccode16.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n' > out/ccode16.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fwhole-program -DWHOLE_PROGRAM -c out/ccode16.o.tmp.c -o out/ccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/romlayout.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ src/romlayout.S -o out/romlayout.o Building ld scripts python3 ./scripts/buildversion.py -e "-2.fc37" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autoversion.h Version: 1.16.2-2.fc37 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/version.c -o out/version.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode32flat.o out/version.o -o out/code32flat.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode16.o out/romlayout.o -o out/code16.o x86_64-linux-gnu-objdump -thr out/code32flat.o > out/code32flat.o.objdump x86_64-linux-gnu-objdump -thr out/code32seg.o > out/code32seg.o.objdump x86_64-linux-gnu-objdump -thr out/code16.o > out/code16.o.objdump python3 ./scripts/layoutrom.py out/code16.o.objdump out/code32seg.o.objdump out/code32flat.o.objdump out/autoconf.h out/romlayout16.lds out/romlayout32seg.lds out/romlayout32flat.lds Fixed space: 0xe05b-0x10000 total: 8101 slack: 15 Percent slack: 0.2% 16bit size: 38112 32bit segmented size: 2309 32bit flat size: 41643 32bit flat init size: 61696 Lowmem size: 2240 f-segment var size: 1232 Linking out/rom16.o x86_64-linux-gnu-ld -T out/romlayout16.lds out/code16.o -o out/rom16.o Stripping out/rom16.noexec.o x86_64-linux-gnu-strip out/rom16.o -o out/rom16.o.strip.o python3 ./scripts/ldnoexec.py out/rom16.o.strip.o out/rom16.noexec.o Linking out/rom32seg.o x86_64-linux-gnu-ld -T out/romlayout32seg.lds out/code32seg.o -o out/rom32seg.o Stripping out/rom32seg.noexec.o x86_64-linux-gnu-strip out/rom32seg.o -o out/rom32seg.o.strip.o python3 ./scripts/ldnoexec.py out/rom32seg.o.strip.o out/rom32seg.noexec.o Linking out/rom.o x86_64-linux-gnu-ld -N -T out/romlayout32flat.lds out/rom16.noexec.o out/rom32seg.noexec.o out/code32flat.o -o out/rom.o Prepping out/bios.bin.prep rm -f out/bios.bin out/Csm16.bin out/bios.bin.elf x86_64-linux-gnu-objdump -thr out/rom.o > out/rom.o.objdump x86_64-linux-gnu-objcopy -O binary out/rom.o out/bios.bin.raw python3 ./scripts/checkrom.py out/rom.o.objdump 0 out/bios.bin.raw out/bios.bin.prep Total size: 151776 Fixed: 83296 Free: 110368 (used 57.9% of 256KiB rom) Creating out/bios.bin.elf x86_64-linux-gnu-strip -R .comment out/rom.o -o out/bios.bin.elf + cp out/bios.bin.elf binaries/bios-coreboot.bin + build_bios /builddir/build/SOURCES/config.seabios-microvm bios.bin bios-microvm.bin + make clean distclean + cp /builddir/build/SOURCES/config.seabios-microvm .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.2/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' + make V=1 EXTRAVERSION=-2.fc37 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' Compile checking out/src/misc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/misc.c -o out/src/misc.o In file included from src/biosvar.h:10, from src/misc.c:8: src/misc.c: In function 'handle_12': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:36:16: note: in expansion of macro 'GET_BDA' 36 | regs->ax = GET_BDA(mem_size_kb); | ^~~~~~~ src/misc.c: In function 'handle_11': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/misc.c:44:16: note: in expansion of macro 'GET_BDA' 44 | regs->ax = GET_BDA(equipment_list_flags); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at src/misc.c:66:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/stacks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/stacks.c -o out/src/stacks.o Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/block.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/block.c -o out/src/block.o src/block.c: In function 'map_hd_drive': src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ^~ In file included from src/biosvar.h:10, from src/block.c:8: In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'fill_fdpt' at src/block.c:213:28, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:239:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at src/block.c:236:9, inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at src/block.c:269:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:296:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at src/block.c:292:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ src/block.c: In function 'map_floppy_drive': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compile checking out/src/cdrom.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cdrom.c -o out/src/cdrom.o In file included from src/biosvar.h:10, from src/cdrom.c:8: src/cdrom.c: In function 'cdrom_boot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at src/cdrom.c:242:9: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/disk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/disk.c -o out/src/disk.o In file included from src/biosvar.h:10, from src/disk.c:8: src/disk.c: In function '__disk_ret_unimplemented': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:45:9: note: in expansion of macro 'SET_BDA' 45 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:43:9: note: in expansion of macro 'SET_BDA' 43 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function '__disk_ret': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:31:9: note: in expansion of macro 'SET_BDA' 31 | SET_BDA(disk_last_status, code); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:29:9: note: in expansion of macro 'SET_BDA' 29 | SET_BDA(floppy_last_status, code); | ^~~~~~~ src/disk.c: In function 'disk_1308': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/disk.c:297:17: note: in expansion of macro 'GET_BDA' 297 | count = GET_BDA(hdcount); | ^~~~~~~ src/disk.c: In function 'disk_13': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:626:5: note: in expansion of macro 'SET_BDA' 626 | SET_BDA(disk_interrupt_flag, 0); | ^~~~~~~ In function 'disk_1301', inlined from 'disk_13' at src/disk.c:630:16: src/disk.c:218:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 218 | v = GET_BDA(disk_last_status); src/disk.c:216:11: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 216 | v = GET_BDA(floppy_last_status); src/disk.c: In function 'handle_76': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/disk.c:777:5: note: in expansion of macro 'SET_BDA' 777 | SET_BDA(disk_interrupt_flag, 0xff); | ^~~~~~~ Compile checking out/src/mouse.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/mouse.c -o out/src/mouse.o In file included from src/mouse.c:8: In function 'set_equipment_flags', inlined from 'mouse_init' at src/mouse.c:23:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c207' at src/mouse.c:231:20, inlined from 'handle_15c2' at src/mouse.c:272:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c205' at src/mouse.c:162:20, inlined from 'handle_15c2' at src/mouse.c:270:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'mouse_15c20001' at src/mouse.c:56:20, inlined from 'mouse_15c200' at src/mouse.c:82:16, inlined from 'handle_15c2' at src/mouse.c:265:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'process_mouse' at src/mouse.c:322:20: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/kbd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/kbd.c -o out/src/kbd.o In file included from src/biosvar.h:10, from src/kbd.c:8: src/kbd.c: In function 'kbd_set_flag': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:397:18: note: in expansion of macro 'GET_BDA' 397 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:398:17: note: in expansion of macro 'GET_BDA' 398 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:407:5: note: in expansion of macro 'SET_BDA' 407 | SET_BDA(kbd_flag0, flags0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:408:5: note: in expansion of macro 'SET_BDA' 408 | SET_BDA(kbd_flag1, flags1); | ^~~~~~~ src/kbd.c: In function 'set_leds': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:230:23: note: in expansion of macro 'GET_BDA' 230 | u8 shift_flags = (GET_BDA(kbd_flag0) >> 4) & 0x07; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:231:18: note: in expansion of macro 'GET_BDA' 231 | u8 kbd_led = GET_BDA(kbd_led); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:241:5: note: in expansion of macro 'SET_BDA' 241 | SET_BDA(kbd_led, kbd_led); | ^~~~~~~ src/kbd.c: In function 'dequeue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:61:23: note: in expansion of macro 'GET_BDA' 61 | buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:62:23: note: in expansion of macro 'GET_BDA' 62 | buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:98:24: note: in expansion of macro 'GET_BDA' 98 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:99:24: note: in expansion of macro 'GET_BDA' 99 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:104:5: note: in expansion of macro 'SET_BDA' 104 | SET_BDA(kbd_buf_head, buffer_head); | ^~~~~~~ src/kbd.c: In function 'kbd_init': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ src/kbd.c: In function 'enqueue_key': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:35:24: note: in expansion of macro 'GET_BDA' 35 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:36:24: note: in expansion of macro 'GET_BDA' 36 | u16 buffer_end = GET_BDA(kbd_buf_end_offset); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:38:23: note: in expansion of macro 'GET_BDA' 38 | u16 buffer_head = GET_BDA(kbd_buf_head); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:39:23: note: in expansion of macro 'GET_BDA' 39 | u16 buffer_tail = GET_BDA(kbd_buf_tail); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:50:5: note: in expansion of macro 'SET_BDA' 50 | SET_BDA(kbd_buf_tail, buffer_tail); | ^~~~~~~ In function 'handle_1612', inlined from 'handle_16' at src/kbd.c:264:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:193:18: note: in expansion of macro 'GET_BDA' 193 | regs->ax = ((GET_BDA(kbd_flag0) & ~((KF1_RCTRL|KF1_RALT) << 8)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:194:21: note: in expansion of macro 'GET_BDA' 194 | | ((GET_BDA(kbd_flag1) & (KF1_RCTRL|KF1_RALT)) << 8)); | ^~~~~~~ In function 'handle_1602', inlined from 'handle_16' at src/kbd.c:258:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:134:16: note: in expansion of macro 'GET_BDA' 134 | regs->al = GET_BDA(kbd_flag0); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:459:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 459 | u8 flags1 = GET_BDA(kbd_flag1); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:473:9: note: in expansion of macro 'SET_BDA' 473 | SET_BDA(kbd_flag1, flags1 & ~(KF1_LAST_E0|KF1_LAST_E1)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/kbd.c:529:14: note: in expansion of macro 'GET_BDA' 529 | if ((GET_BDA(kbd_flag0) & (KF0_CTRLACTIVE|KF0_ALTACTIVE)) | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:532:13: note: in expansion of macro 'SET_BDA' 532 | SET_BDA(soft_reset_flag, 0x1234); | ^~~~~~~ In function 'kbd_ctrl_break', inlined from '__process_key' at src/kbd.c:513:13, inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:417:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 417 | u16 buffer_start = GET_BDA(kbd_buf_start_offset); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:418:5: note: in expansion of macro 'SET_BDA' 418 | SET_BDA(kbd_buf_head, buffer_start); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:419:5: note: in expansion of macro 'SET_BDA' 419 | SET_BDA(kbd_buf_tail, buffer_start+2); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:422:5: note: in expansion of macro 'SET_BDA' 422 | SET_BDA(break_flag, 0x80); | ^~~~~~~ In function '__process_key', inlined from 'process_key' at src/kbd.c:598:5: src/kbd.c:552:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 552 | u16 flags0 = GET_BDA(kbd_flag0); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/kbd.c:463:9: note: in expansion of macro 'SET_BDA' 463 | SET_BDA(kbd_flag1, flags1 | eflag); | ^~~~~~~ Compile checking out/src/system.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/system.c -o out/src/system.o In file included from src/biosvar.h:10, from src/system.c:8: In function 'get_ebda_seg', inlined from 'handle_15c1' at src/system.c:255:16, inlined from 'handle_15' at src/system.c:352:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/serial.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/serial.c -o out/src/serial.o In file included from src/serial.c:8: In function 'set_equipment_flags', inlined from 'serial_setup' at src/serial.c:56:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ Compile checking out/src/sercon.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sercon.c -o out/src/sercon.o In file included from src/biosvar.h:10, from src/sercon.c:7: In function 'cursor_pos_set', inlined from 'sercon_cursor_pos_set' at src/sercon.c:190:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_lf' at src/sercon.c:270:11: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_lazy_lf' at src/sercon.c:271:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cursor_sync' at src/sercon.c:198:14, inlined from 'sercon_lazy_flush' at src/sercon.c:236:5: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_putchar' at src/sercon.c:296:9: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:285:11, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_cols', inlined from 'sercon_lazy_move_cursor' at src/sercon.c:286:16, inlined from 'sercon_lazy_putchar' at src/sercon.c:303:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_100f', inlined from 'handle_sercon' at src/sercon.c:505:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:456:16: note: in expansion of macro 'GET_BDA' 456 | regs->al = GET_BDA(video_mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:457:16: note: in expansion of macro 'GET_BDA' 457 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_cr' at src/sercon.c:263:27, inlined from 'sercon_100e' at src/sercon.c:442:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_lazy_backspace' at src/sercon.c:254:11, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_row', inlined from 'sercon_lazy_backspace' at src/sercon.c:257:35, inlined from 'sercon_100e' at src/sercon.c:439:9, inlined from 'handle_sercon' at src/sercon.c:504:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1009' at src/sercon.c:411:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1009' at src/sercon.c:411:31, inlined from 'handle_sercon' at src/sercon.c:503:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1009' at src/sercon.c:412:16, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1009' at src/sercon.c:427:33, inlined from 'handle_sercon' at src/sercon.c:503:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'video_rows', inlined from 'sercon_1006' at src/sercon.c:384:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:19:12: note: in expansion of macro 'GET_BDA' 19 | return GET_BDA(video_rows)+1; | ^~~~~~~ In function 'video_cols', inlined from 'sercon_1006' at src/sercon.c:385:25, inlined from 'handle_sercon' at src/sercon.c:501:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:24:12: note: in expansion of macro 'GET_BDA' 24 | return GET_BDA(video_cols); | ^~~~~~~ In function 'sercon_1003', inlined from 'handle_sercon' at src/sercon.c:500:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/sercon.c:371:16: note: in expansion of macro 'GET_BDA' 371 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'cursor_pos_row', inlined from 'sercon_1003' at src/sercon.c:372:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:35:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 35 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'cursor_pos_col', inlined from 'sercon_1003' at src/sercon.c:373:16, inlined from 'handle_sercon' at src/sercon.c:500:16: src/sercon.c:29:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 29 | u16 pos = GET_BDA(cursor_pos[0]); | ^~~ In function 'sercon_1001', inlined from 'handle_sercon' at src/sercon.c:498:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:359:5: note: in expansion of macro 'SET_BDA' 359 | SET_BDA(cursor_type, regs->cx); | ^~~~~~~ In function 'cursor_pos_set', inlined from 'sercon_1000' at src/sercon.c:335:9, inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:42:5: note: in expansion of macro 'SET_BDA' 42 | SET_BDA(cursor_pos[0], pos); | ^~~~~~~ In function 'sercon_1000', inlined from 'handle_sercon' at src/sercon.c:497:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:336:9: note: in expansion of macro 'SET_BDA' 336 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:337:9: note: in expansion of macro 'SET_BDA' 337 | SET_BDA(video_cols, cols); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:338:9: note: in expansion of macro 'SET_BDA' 338 | SET_BDA(video_rows, rows-1); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/sercon.c:339:9: note: in expansion of macro 'SET_BDA' 339 | SET_BDA(cursor_type, 0x0007); | ^~~~~~~ src/sercon.c: In function 'sercon_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/sercon.c:528:15: note: in expansion of macro 'GET_IVT' 528 | vgabios = GET_IVT(0x10); | ^~~~~~~ src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ Compile checking out/src/clock.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/clock.c -o out/src/clock.o In file included from src/biosvar.h:10, from src/clock.c:8: src/clock.c: In function 'clock_update': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:284:19: note: in expansion of macro 'GET_BDA' 284 | u32 counter = GET_BDA(timer_counter); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:290:33: note: in expansion of macro 'GET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:290:9: note: in expansion of macro 'SET_BDA' 290 | SET_BDA(timer_rollover, GET_BDA(timer_rollover) + 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:292:5: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(timer_counter, counter); | ^~~~~~~ src/clock.c: In function 'clock_setup': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In function 'handle_1a01', inlined from 'handle_1a' at src/clock.c:268:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(timer_counter, ticks); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:87:5: note: in expansion of macro 'SET_BDA' 87 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ In function 'handle_1a00', inlined from 'handle_1a' at src/clock.c:267:16: src/clock.c:73:9: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 73 | u32 ticks = GET_BDA(timer_counter); | ^~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:76:16: note: in expansion of macro 'GET_BDA' 76 | regs->al = GET_BDA(timer_rollover); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/clock.c:77:5: note: in expansion of macro 'SET_BDA' 77 | SET_BDA(timer_rollover, 0); // reset flag | ^~~~~~~ src/clock.c: In function 'handle_08': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/clock.c:312:29: note: in expansion of macro 'GET_IVT' 312 | struct segoff_s isr1c = GET_IVT(0x1c); | ^~~~~~~ src/clock.c: In function 'irqtimer_calc_ticks': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ src/clock.c: In function 'irqtimer_calc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ src/clock.c: In function 'irqtimer_check': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ Compile checking out/src/resume.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/resume.c -o out/src/resume.o Compile checking out/src/pnpbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pnpbios.c -o out/src/pnpbios.o Compile checking out/src/vgahooks.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/vgahooks.c -o out/src/vgahooks.o Compile checking out/src/pcibios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pcibios.c -o out/src/pcibios.o Compile checking out/src/apm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/apm.c -o out/src/apm.o Compile checking out/src/cp437.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/cp437.c -o out/src/cp437.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/timer.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/timer.c -o out/src/hw/timer.o Compile checking out/src/hw/rtc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/rtc.c -o out/src/hw/rtc.o Compile checking out/src/hw/dma.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/dma.c -o out/src/hw/dma.o Compile checking out/src/hw/pic.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pic.c -o out/src/hw/pic.o Compile checking out/src/hw/ps2port.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ps2port.c -o out/src/hw/ps2port.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/src/hw/usb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb.c -o out/src/hw/usb.o Compile checking out/src/hw/usb-uhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uhci.c -o out/src/hw/usb-uhci.o Compile checking out/src/hw/usb-ohci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ohci.c -o out/src/hw/usb-ohci.o Compile checking out/src/hw/usb-ehci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-ehci.c -o out/src/hw/usb-ehci.o Compile checking out/src/hw/usb-hid.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hid.c -o out/src/hw/usb-hid.o Compile checking out/src/hw/usb-msc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-msc.c -o out/src/hw/usb-msc.o Compile checking out/src/hw/usb-uas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-uas.c -o out/src/hw/usb-uas.o Compile checking out/src/hw/blockcmd.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/blockcmd.c -o out/src/hw/blockcmd.o Compile checking out/src/hw/floppy.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/floppy.c -o out/src/hw/floppy.o In file included from src/biosvar.h:10, from src/hw/floppy.c:8: src/hw/floppy.c: In function 'floppy_setup': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ Compile checking out/src/hw/ata.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ata.c -o out/src/hw/ata.o Compile checking out/src/hw/ramdisk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ramdisk.c -o out/src/hw/ramdisk.o Compile checking out/src/hw/lsi-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/lsi-scsi.c -o out/src/hw/lsi-scsi.o Compile checking out/src/hw/esp-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/esp-scsi.c -o out/src/hw/esp-scsi.o Compile checking out/src/hw/megasas.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/megasas.c -o out/src/hw/megasas.o Compile checking out/src/hw/mpt-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/mpt-scsi.c -o out/src/hw/mpt-scsi.o Compile checking out/src/post.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/post.c -o out/src/post.o In file included from src/biosvar.h:10, from src/post.c:8: In function 'ivt_init', inlined from 'interface_init' at src/post.c:113:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at src/biosvar.h:66:12, inlined from 'bda_init' at src/post.c:91:46, inlined from 'interface_init' at src/post.c:114:5: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ Compile checking out/src/e820map.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/e820map.c -o out/src/e820map.o Compile checking out/src/malloc.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/malloc.c -o out/src/malloc.o In file included from src/biosvar.h:10, from src/malloc.c:7: src/malloc.c: In function 'malloc_prepboot': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ Compile checking out/src/romfile.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/romfile.c -o out/src/romfile.o Compile checking out/src/x86.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/x86.c -o out/src/x86.o Compile checking out/src/optionroms.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/optionroms.c -o out/src/optionroms.o In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:344:28: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at src/optionroms.c:348:9: src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In file included from src/optionroms.c:10: In function 'boot_irq_restore', inlined from 'init_pcirom' at src/optionroms.c:354:9: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ Compile checking out/src/pmm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/pmm.c -o out/src/pmm.o Compile checking out/src/font.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/font.c -o out/src/font.o Compile checking out/src/boot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/boot.c -o out/src/boot.o Compile checking out/src/bootsplash.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bootsplash.c -o out/src/bootsplash.o Compile checking out/src/jpeg.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/jpeg.c -o out/src/jpeg.o Compile checking out/src/bmp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/bmp.c -o out/src/bmp.o Compile checking out/src/tcgbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/tcgbios.c -o out/src/tcgbios.o Compile checking out/src/sha1.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha1.c -o out/src/sha1.o Compile checking out/src/hw/pcidevice.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pcidevice.c -o out/src/hw/pcidevice.o Compile checking out/src/hw/ahci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/ahci.c -o out/src/hw/ahci.o Compile checking out/src/hw/pvscsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pvscsi.c -o out/src/hw/pvscsi.o Compile checking out/src/hw/usb-xhci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-xhci.c -o out/src/hw/usb-xhci.o Compile checking out/src/hw/usb-hub.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/usb-hub.c -o out/src/hw/usb-hub.o Compile checking out/src/hw/sdcard.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/sdcard.c -o out/src/hw/sdcard.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/src/fw/lzmadecode.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/lzmadecode.c -o out/src/fw/lzmadecode.o Compile checking out/src/fw/multiboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/multiboot.c -o out/src/fw/multiboot.o Compile checking out/src/fw/csm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/csm.c -o out/src/fw/csm.o Compile checking out/src/fw/biostables.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/biostables.c -o out/src/fw/biostables.o Compile checking out/src/fw/paravirt.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/paravirt.c -o out/src/fw/paravirt.o Compile checking out/src/fw/shadow.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/shadow.c -o out/src/fw/shadow.o Compile checking out/src/fw/pciinit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pciinit.c -o out/src/fw/pciinit.o Compile checking out/src/fw/smm.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smm.c -o out/src/fw/smm.o Compile checking out/src/fw/smp.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smp.c -o out/src/fw/smp.o Compile checking out/src/fw/mtrr.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mtrr.c -o out/src/fw/mtrr.o Compile checking out/src/fw/xen.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/xen.c -o out/src/fw/xen.o Compile checking out/src/fw/acpi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/acpi.c -o out/src/fw/acpi.o Compile checking out/src/fw/mptable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/mptable.c -o out/src/fw/mptable.o Compile checking out/src/fw/pirtable.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/pirtable.c -o out/src/fw/pirtable.o Compile checking out/src/fw/smbios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/smbios.c -o out/src/fw/smbios.o Compile checking out/src/fw/romfile_loader.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/romfile_loader.c -o out/src/fw/romfile_loader.o Compile checking out/src/fw/dsdt_parser.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/dsdt_parser.c -o out/src/fw/dsdt_parser.o Compile checking out/src/hw/virtio-ring.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-ring.c -o out/src/hw/virtio-ring.o Compile checking out/src/hw/virtio-pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-pci.c -o out/src/hw/virtio-pci.o Compile checking out/src/hw/virtio-mmio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-mmio.c -o out/src/hw/virtio-mmio.o Compile checking out/src/hw/virtio-blk.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-blk.c -o out/src/hw/virtio-blk.o Compile checking out/src/hw/virtio-scsi.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/virtio-scsi.c -o out/src/hw/virtio-scsi.o Compile checking out/src/hw/tpm_drivers.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/tpm_drivers.c -o out/src/hw/tpm_drivers.o Compile checking out/src/hw/nvme.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/nvme.c -o out/src/hw/nvme.o Compile checking out/src/sha256.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha256.c -o out/src/sha256.o Compile checking out/src/sha512.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/sha512.c -o out/src/sha512.o Compiling whole program out/ccode32flat.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n #include "src/post.c"\n #include "src/e820map.c"\n #include "src/malloc.c"\n #include "src/romfile.c"\n #include "src/x86.c"\n #include "src/optionroms.c"\n #include "src/pmm.c"\n #include "src/font.c"\n #include "src/boot.c"\n #include "src/bootsplash.c"\n #include "src/jpeg.c"\n #include "src/bmp.c"\n #include "src/tcgbios.c"\n #include "src/sha1.c"\n #include "src/hw/pcidevice.c"\n #include "src/hw/ahci.c"\n #include "src/hw/pvscsi.c"\n #include "src/hw/usb-xhci.c"\n #include "src/hw/usb-hub.c"\n #include "src/hw/sdcard.c"\n #include "src/fw/coreboot.c"\n #include "src/fw/lzmadecode.c"\n #include "src/fw/multiboot.c"\n #include "src/fw/csm.c"\n #include "src/fw/biostables.c"\n #include "src/fw/paravirt.c"\n #include "src/fw/shadow.c"\n #include "src/fw/pciinit.c"\n #include "src/fw/smm.c"\n #include "src/fw/smp.c"\n #include "src/fw/mtrr.c"\n #include "src/fw/xen.c"\n #include "src/fw/acpi.c"\n #include "src/fw/mptable.c"\n #include "src/fw/pirtable.c"\n #include "src/fw/smbios.c"\n #include "src/fw/romfile_loader.c"\n #include "src/fw/dsdt_parser.c"\n #include "src/hw/virtio-ring.c"\n #include "src/hw/virtio-pci.c"\n #include "src/hw/virtio-mmio.c"\n #include "src/hw/virtio-blk.c"\n #include "src/hw/virtio-scsi.c"\n #include "src/hw/tpm_drivers.c"\n #include "src/hw/nvme.c"\n #include "src/sha256.c"\n #include "src/sha512.c"\n' > out/ccode32flat.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -fwhole-program -DWHOLE_PROGRAM -c out/ccode32flat.o.tmp.c -o out/ccode32flat.o In file included from ./src/biosvar.h:10, from ./src/misc.c:8, from out/ccode32flat.o.tmp.c:1: In function 'irqtimer_calc_ticks', inlined from 'irqtimer_calc' at ./src/clock.c:356:12, inlined from 'irqtimer_calc' at ./src/clock.c:352:1: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:347:13: note: in expansion of macro 'GET_BDA' 347 | return (GET_BDA(timer_counter) + count + 1) % TICKS_PER_DAY; | ^~~~~~~ ./src/clock.c: In function 'irqtimer_calc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:355:16: note: in expansion of macro 'GET_BDA' 355 | return GET_BDA(timer_counter); | ^~~~~~~ ./src/output.c: In function 'screenc': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ ./src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ In function 'irqtimer_check', inlined from 'get_keystroke_full' at ./src/boot.c:661:13: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'irqtimer_check', inlined from 'boot_fail' at ./src/boot.c:974:41: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:47: In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:344:28: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_captured', inlined from 'init_pcirom' at ./src/optionroms.c:348:9: ./src/optionroms.c:314:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 314 | return GET_IVT(0x19).segoff != FUNC16(entry_19_official).segoff; In function 'boot_irq_restore', inlined from 'init_pcirom' at ./src/optionroms.c:354:9: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/optionroms.c:322:5: note: in expansion of macro 'SET_IVT' 322 | SET_IVT(0x19, seabios); | ^~~~~~~ ./src/cdrom.c: In function 'cdrom_boot': ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/cdrom.c:264:26: note: in expansion of macro 'GET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/cdrom.c:264:9: note: in expansion of macro 'SET_BDA' 264 | SET_BDA(hdcount, GET_BDA(hdcount) + 1); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'cdrom_boot' at ./src/cdrom.c:242:9: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'ivt_init', inlined from 'interface_init' at ./src/post.c:113:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:49:5: note: in expansion of macro 'SET_IVT' 49 | SET_IVT(0x02, FUNC16(entry_02)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:50:5: note: in expansion of macro 'SET_IVT' 50 | SET_IVT(0x05, FUNC16(entry_05)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:51:5: note: in expansion of macro 'SET_IVT' 51 | SET_IVT(0x10, FUNC16(entry_10)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:52:5: note: in expansion of macro 'SET_IVT' 52 | SET_IVT(0x11, FUNC16(entry_11)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:53:5: note: in expansion of macro 'SET_IVT' 53 | SET_IVT(0x12, FUNC16(entry_12)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:54:5: note: in expansion of macro 'SET_IVT' 54 | SET_IVT(0x13, FUNC16(entry_13_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:55:5: note: in expansion of macro 'SET_IVT' 55 | SET_IVT(0x14, FUNC16(entry_14)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:56:5: note: in expansion of macro 'SET_IVT' 56 | SET_IVT(0x15, FUNC16(entry_15_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:57:5: note: in expansion of macro 'SET_IVT' 57 | SET_IVT(0x16, FUNC16(entry_16)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:58:5: note: in expansion of macro 'SET_IVT' 58 | SET_IVT(0x17, FUNC16(entry_17)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:59:5: note: in expansion of macro 'SET_IVT' 59 | SET_IVT(0x18, FUNC16(entry_18)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:60:5: note: in expansion of macro 'SET_IVT' 60 | SET_IVT(0x19, FUNC16(entry_19_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:61:5: note: in expansion of macro 'SET_IVT' 61 | SET_IVT(0x1a, FUNC16(entry_1a_official)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:62:5: note: in expansion of macro 'SET_IVT' 62 | SET_IVT(0x40, FUNC16(entry_40)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/post.c:70:5: note: in expansion of macro 'SET_IVT' 70 | SET_IVT(0x79, SEGOFF(0, 0)); | ^~~~~~~ In function 'bda_init', inlined from 'interface_init' at ./src/post.c:114:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:86:5: note: in expansion of macro 'SET_BDA' 86 | SET_BDA(ebda_seg, ebda_seg); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/post.c:88:5: note: in expansion of macro 'SET_BDA' 88 | SET_BDA(mem_size_kb, ebda_seg / (1024/16)); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'bda_init' at ./src/post.c:91:46, inlined from 'interface_init' at ./src/post.c:114:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'kbd_init', inlined from 'interface_init' at ./src/post.c:121:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:23:5: note: in expansion of macro 'SET_BDA' 23 | SET_BDA(kbd_flag1, KF1_101KBD); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:24:5: note: in expansion of macro 'SET_BDA' 24 | SET_BDA(kbd_buf_head, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:25:5: note: in expansion of macro 'SET_BDA' 25 | SET_BDA(kbd_buf_tail, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:26:5: note: in expansion of macro 'SET_BDA' 26 | SET_BDA(kbd_buf_start_offset, x); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/kbd.c:28:5: note: in expansion of macro 'SET_BDA' 28 | SET_BDA(kbd_buf_end_offset | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mouse_init' at ./src/mouse.c:23:5, inlined from 'interface_init' at ./src/post.c:122:5, inlined from 'maininit' at ./src/post.c:200:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'mathcp_setup' at ./src/misc.c:66:5, inlined from 'platform_hardware_setup' at ./src/post.c:146:5, inlined from 'maininit' at ./src/post.c:203:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'clock_setup', inlined from 'platform_hardware_setup' at ./src/post.c:154:5, inlined from 'maininit' at ./src/post.c:203:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/clock.c:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(timer_counter, ticks % TICKS_PER_DAY); | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:12: In function 'sercon_setup', inlined from 'maininit' at ./src/post.c:211:5: ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 528 | vgabios = GET_IVT(0x10); ./src/sercon.c:528:13: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/sercon.c:528:13: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/sercon.c:541:5: note: in expansion of macro 'SET_IVT' 541 | SET_IVT(0x10, FUNC16(entry_sercon)); | ^~~~~~~ In function 'floppy_setup', inlined from 'block_setup' at ./src/block.c:510:5, inlined from 'device_hardware_setup' at ./src/post.c:131:5, inlined from 'maininit' at ./src/post.c:216:9: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/hw/floppy.c:151:5: note: in expansion of macro 'SET_IVT' 151 | SET_IVT(0x1E, SEGOFF(SEG_BIOS | ^~~~~~~ In function 'set_equipment_flags', inlined from 'serial_setup' at ./src/serial.c:56:5, inlined from 'device_hardware_setup' at ./src/post.c:133:5, inlined from 'maininit' at ./src/post.c:216:9: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'irqtimer_check', inlined from 'interactive_bootmenu' at ./src/boot.c:755:37, inlined from 'maininit' at ./src/post.c:224:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/clock.c:363:15: note: in expansion of macro 'GET_BDA' 363 | return (((GET_BDA(timer_counter) + TICKS_PER_DAY - end) % TICKS_PER_DAY) | ^~~~~~~ In function 'malloc_prepboot', inlined from 'prepareboot' at ./src/post.c:172:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/malloc.c:547:18: note: in expansion of macro 'GET_BDA' 547 | u32 endlow = GET_BDA(mem_size_kb)*1024; | ^~~~~~~ In file included from out/ccode32flat.o.tmp.c:5: In function 'map_hd_drive', inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/block.c:261:19: warning: array subscript 0 is outside array bounds of 'struct bios_data_area_s[0]' [-Warray-bounds] 261 | int hdid = bda->hdcount; | ~~~^~~~~~~~~ In function 'get_ebda_seg', inlined from 'get_ebda_ptr' at ./src/biosvar.h:66:12, inlined from 'fill_fdpt' at ./src/block.c:213:28, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:239:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:239:9: note: in expansion of macro 'SET_IVT' 239 | SET_IVT(0x46, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'get_ebda_seg', inlined from 'fill_fdpt' at ./src/block.c:236:9, inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ ./src/biosvar.h:60:12: note: in expansion of macro 'GET_BDA' 60 | return GET_BDA(ebda_seg); | ^~~~~~~ In function 'fill_fdpt', inlined from 'map_hd_drive' at ./src/block.c:269:5, inlined from 'bcv_prepboot' at ./src/boot.c:840:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ ./src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ ./src/block.c:236:9: note: in expansion of macro 'SET_IVT' 236 | SET_IVT(0x41, SEGOFF(get_ebda_seg(), offsetof( | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:296:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(floppy_harddisk_info, 0x77); | ^~~~~~~ In function 'set_equipment_flags', inlined from 'map_floppy_drive' at ./src/block.c:292:9, inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'map_floppy_drive', inlined from 'bcv_prepboot' at ./src/boot.c:836:13, inlined from 'prepareboot' at ./src/post.c:167:5, inlined from 'maininit' at ./src/post.c:228:5: ./src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ ./src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ ./src/block.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(floppy_harddisk_info, 0x07); | ^~~~~~~ Compiling whole program out/code32seg.o printf '#include "src/string.c"\n #include "src/output.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/stacks.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n' > out/code32seg.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=0 -fwhole-program -DWHOLE_PROGRAM -c out/code32seg.o.tmp.c -o out/code32seg.o Compiling whole program out/ccode16.o printf '#include "src/misc.c"\n #include "src/stacks.c"\n #include "src/output.c"\n #include "src/string.c"\n #include "src/block.c"\n #include "src/cdrom.c"\n #include "src/disk.c"\n #include "src/mouse.c"\n #include "src/kbd.c"\n #include "src/system.c"\n #include "src/serial.c"\n #include "src/sercon.c"\n #include "src/clock.c"\n #include "src/resume.c"\n #include "src/pnpbios.c"\n #include "src/vgahooks.c"\n #include "src/pcibios.c"\n #include "src/apm.c"\n #include "src/cp437.c"\n #include "src/hw/pci.c"\n #include "src/hw/timer.c"\n #include "src/hw/rtc.c"\n #include "src/hw/dma.c"\n #include "src/hw/pic.c"\n #include "src/hw/ps2port.c"\n #include "src/hw/serialio.c"\n #include "src/hw/usb.c"\n #include "src/hw/usb-uhci.c"\n #include "src/hw/usb-ohci.c"\n #include "src/hw/usb-ehci.c"\n #include "src/hw/usb-hid.c"\n #include "src/hw/usb-msc.c"\n #include "src/hw/usb-uas.c"\n #include "src/hw/blockcmd.c"\n #include "src/hw/floppy.c"\n #include "src/hw/ata.c"\n #include "src/hw/ramdisk.c"\n #include "src/hw/lsi-scsi.c"\n #include "src/hw/esp-scsi.c"\n #include "src/hw/megasas.c"\n #include "src/hw/mpt-scsi.c"\n' > out/ccode16.o.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fwhole-program -DWHOLE_PROGRAM -c out/ccode16.o.tmp.c -o out/ccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/romlayout.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ src/romlayout.S -o out/romlayout.o Building ld scripts python3 ./scripts/buildversion.py -e "-2.fc37" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autoversion.h Version: 1.16.2-2.fc37 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/version.c -o out/version.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode32flat.o out/version.o -o out/code32flat.o x86_64-linux-gnu-ld -melf_i386 -r out/ccode16.o out/romlayout.o -o out/code16.o x86_64-linux-gnu-objdump -thr out/code32flat.o > out/code32flat.o.objdump x86_64-linux-gnu-objdump -thr out/code32seg.o > out/code32seg.o.objdump x86_64-linux-gnu-objdump -thr out/code16.o > out/code16.o.objdump python3 ./scripts/layoutrom.py out/code16.o.objdump out/code32seg.o.objdump out/code32flat.o.objdump out/autoconf.h out/romlayout16.lds out/romlayout32seg.lds out/romlayout32flat.lds Fixed space: 0xe05b-0x10000 total: 8101 slack: 11 Percent slack: 0.1% 16bit size: 19904 32bit segmented size: 2299 32bit flat size: 22373 32bit flat init size: 45248 Lowmem size: 2176 f-segment var size: 1152 Linking out/rom16.o x86_64-linux-gnu-ld -T out/romlayout16.lds out/code16.o -o out/rom16.o Stripping out/rom16.noexec.o x86_64-linux-gnu-strip out/rom16.o -o out/rom16.o.strip.o python3 ./scripts/ldnoexec.py out/rom16.o.strip.o out/rom16.noexec.o Linking out/rom32seg.o x86_64-linux-gnu-ld -T out/romlayout32seg.lds out/code32seg.o -o out/rom32seg.o Stripping out/rom32seg.noexec.o x86_64-linux-gnu-strip out/rom32seg.o -o out/rom32seg.o.strip.o python3 ./scripts/ldnoexec.py out/rom32seg.o.strip.o out/rom32seg.noexec.o Linking out/rom.o x86_64-linux-gnu-ld -N -T out/romlayout32flat.lds out/rom16.noexec.o out/rom32seg.noexec.o out/code32flat.o -o out/rom.o Prepping out/bios.bin.prep rm -f out/bios.bin out/Csm16.bin out/bios.bin.elf x86_64-linux-gnu-objdump -thr out/rom.o > out/rom.o.objdump x86_64-linux-gnu-objcopy -O binary out/rom.o out/bios.bin.raw python3 ./scripts/checkrom.py out/rom.o.objdump 128 out/bios.bin.raw out/bios.bin.prep Total size: 96640 Fixed: 45728 Free: 34432 (used 73.7% of 128KiB rom) Creating out/bios.bin cp out/bios.bin.prep out/bios.bin + cp out/bios.bin binaries/bios-microvm.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-bochs-display vgabios.bin vgabios-bochs-display.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-bochs-display .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.2/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' + make V=1 EXTRAVERSION=-2.fc37 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ In function 'hook_timer_irq', inlined from 'vga_post' at vgasrc/vgainit.c:192:5: vgasrc/vgainit.c:121:21: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 121 | struct segoff_s oldirq = GET_IVT(0x08); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:128:5: note: in expansion of macro 'SET_IVT' 128 | SET_IVT(0x08, newirq); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'vga_set_mode' at vgasrc/vgabios.c:298:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'set_cursor_shape', inlined from 'handle_1001' at vgasrc/vgabios.c:357:5, inlined from 'handle_10' at vgasrc/vgabios.c:1105:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_clear_chars' at vgasrc/vgafb.c:377:9, inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_write_char' at vgasrc/vgafb.c:415:9, inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_read_char' at vgasrc/vgafb.c:468:9, inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o In file included from src/biosvar.h:10, from vgasrc/swcursor.c:7: vgasrc/swcursor.c: In function 'set_swcursor': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:41:16: note: in expansion of macro 'GET_BDA_EXT' 41 | u8 flags = GET_BDA_EXT(flags); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:48:42: note: in expansion of macro 'GET_BDA' 48 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:49:17: note: in expansion of macro 'GET_BDA' 49 | if (cp.x >= GET_BDA(video_cols) || cp.y > GET_BDA(video_rows) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:49:47: note: in expansion of macro 'GET_BDA' 49 | if (cp.x >= GET_BDA(video_cols) || cp.y > GET_BDA(video_rows) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:50:12: note: in expansion of macro 'GET_BDA' 50 | || GET_BDA(cursor_type) >= 0x2000) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/swcursor.c:54:5: note: in expansion of macro 'SET_BDA_EXT' 54 | SET_BDA_EXT(flags, (flags & ~BF_SWCURSOR) | (enable ? BF_SWCURSOR : 0)); | ^~~~~~~~~~~ In function 'gfx_set_swcursor', inlined from 'set_swcursor' at vgasrc/swcursor.c:57:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:22:19: note: in expansion of macro 'GET_BDA' 22 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'swcursor_pre_handle10' at vgasrc/swcursor.c:72:10: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ In function 'vga_emulate_text', inlined from 'swcursor_check_event' at vgasrc/swcursor.c:93:10: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/swcursor.c: In function 'swcursor_check_event': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:95:18: note: in expansion of macro 'GET_BDA' 95 | set_swcursor(GET_BDA(timer_counter) % 18 < 9); | ^~~~~~~ Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: ./vgasrc/vgabios.h: In function 'vga_emulate_text': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'bda_save_restore': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/cbvga.c: In function 'cbvga_set_mode': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/swcursor.c: In function 'set_swcursor': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/swcursor.c:41:16: note: in expansion of macro 'GET_BDA_EXT' 41 | u8 flags = GET_BDA_EXT(flags); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_swcursor' at ./vgasrc/swcursor.c:45:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/swcursor.c: In function 'set_swcursor': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/swcursor.c:54:5: note: in expansion of macro 'SET_BDA_EXT' 54 | SET_BDA_EXT(flags, (flags & ~BF_SWCURSOR) | (enable ? BF_SWCURSOR : 0)); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc37" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.2-2.fc37 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-bochs-display.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-cirrus vgabios.bin vgabios-cirrus.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-cirrus .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.2/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' + make V=1 EXTRAVERSION=-2.fc37 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc37" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.2-2.fc37 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-cirrus.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-isavga vgabios.bin vgabios-isavga.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-isavga .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.2/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' + make V=1 EXTRAVERSION=-2.fc37 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12, inlined from 'bochsvga_save_restore' at ./vgasrc/bochsvga.c:230:15: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc37" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.2-2.fc37 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-isavga.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-qxl vgabios.bin vgabios-qxl.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-qxl .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.2/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' + make V=1 EXTRAVERSION=-2.fc37 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12, inlined from 'bochsvga_save_restore' at ./vgasrc/bochsvga.c:230:15: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc37" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.2-2.fc37 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-qxl.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-stdvga vgabios.bin vgabios-stdvga.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-stdvga .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.2/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' + make V=1 EXTRAVERSION=-2.fc37 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12, inlined from 'bochsvga_save_restore' at ./vgasrc/bochsvga.c:230:15: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc37" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.2-2.fc37 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-stdvga.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-ramfb vgabios.bin vgabios-ramfb.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-ramfb .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.2/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' + make V=1 EXTRAVERSION=-2.fc37 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ In function 'hook_timer_irq', inlined from 'vga_post' at vgasrc/vgainit.c:192:5: vgasrc/vgainit.c:121:21: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 121 | struct segoff_s oldirq = GET_IVT(0x08); | ^~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:128:5: note: in expansion of macro 'SET_IVT' 128 | SET_IVT(0x08, newirq); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'vga_set_mode' at vgasrc/vgabios.c:298:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'set_cursor_shape', inlined from 'handle_1001' at vgasrc/vgabios.c:357:5, inlined from 'handle_10' at vgasrc/vgabios.c:1105:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_clear_chars' at vgasrc/vgafb.c:377:9, inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_write_char' at vgasrc/vgafb.c:415:9, inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ In function 'vga_emulate_text', inlined from 'gfx_read_char' at vgasrc/vgafb.c:468:9, inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o In file included from src/biosvar.h:10, from vgasrc/swcursor.c:7: vgasrc/swcursor.c: In function 'set_swcursor': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:41:16: note: in expansion of macro 'GET_BDA_EXT' 41 | u8 flags = GET_BDA_EXT(flags); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:48:42: note: in expansion of macro 'GET_BDA' 48 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:49:17: note: in expansion of macro 'GET_BDA' 49 | if (cp.x >= GET_BDA(video_cols) || cp.y > GET_BDA(video_rows) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:49:47: note: in expansion of macro 'GET_BDA' 49 | if (cp.x >= GET_BDA(video_cols) || cp.y > GET_BDA(video_rows) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:50:12: note: in expansion of macro 'GET_BDA' 50 | || GET_BDA(cursor_type) >= 0x2000) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/swcursor.c:54:5: note: in expansion of macro 'SET_BDA_EXT' 54 | SET_BDA_EXT(flags, (flags & ~BF_SWCURSOR) | (enable ? BF_SWCURSOR : 0)); | ^~~~~~~~~~~ In function 'gfx_set_swcursor', inlined from 'set_swcursor' at vgasrc/swcursor.c:57:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:22:19: note: in expansion of macro 'GET_BDA' 22 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'vga_emulate_text', inlined from 'swcursor_pre_handle10' at vgasrc/swcursor.c:72:10: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ In function 'vga_emulate_text', inlined from 'swcursor_check_event' at vgasrc/swcursor.c:93:10: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ vgasrc/swcursor.c: In function 'swcursor_check_event': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u32[0]' {aka 'unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/swcursor.c:95:18: note: in expansion of macro 'GET_BDA' 95 | set_swcursor(GET_BDA(timer_counter) % 18 < 9); | ^~~~~~~ Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: ./vgasrc/vgabios.h: In function 'vga_emulate_text': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:68:39: note: in expansion of macro 'GET_BDA_EXT' 68 | return CONFIG_VGA_EMULATE_TEXT && GET_BDA_EXT(flags) & BF_EMULATE_TEXT; | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'bda_save_restore': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/cbvga.c: In function 'cbvga_set_mode': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ ./vgasrc/swcursor.c: In function 'set_swcursor': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:19:19: note: in definition of macro 'READ8_SEG' 19 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/swcursor.c:41:16: note: in expansion of macro 'GET_BDA_EXT' 41 | u8 flags = GET_BDA_EXT(flags); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_swcursor' at ./vgasrc/swcursor.c:45:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/swcursor.c: In function 'set_swcursor': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/swcursor.c:54:5: note: in expansion of macro 'SET_BDA_EXT' 54 | SET_BDA_EXT(flags, (flags & ~BF_SWCURSOR) | (enable ? BF_SWCURSOR : 0)); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc37" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.2-2.fc37 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-ramfb.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-vmware vgabios.bin vgabios-vmware.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-vmware .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.2/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' + make V=1 EXTRAVERSION=-2.fc37 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12, inlined from 'bochsvga_save_restore' at ./vgasrc/bochsvga.c:230:15: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc37" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.2-2.fc37 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-vmware.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-virtio vgabios.bin vgabios-virtio.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-virtio .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.2/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' + make V=1 EXTRAVERSION=-2.fc37 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12, inlined from 'bochsvga_save_restore' at ./vgasrc/bochsvga.c:230:15: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc37" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.2-2.fc37 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-virtio.bin + for config in bochs-display cirrus isavga qxl stdvga ramfb vmware virtio ati + build_bios /builddir/build/SOURCES/config.vga-ati vgabios.bin vgabios-ati.bin out/vgabios.bin + make clean distclean + cp /builddir/build/SOURCES/config.vga-ati .config + echo CONFIG_DEBUG_LEVEL=1 + make oldnoconfig V=1 mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig oldnoconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/conf.o /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/conf.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.tab.c_shipped > scripts/kconfig/zconf.tab.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.lex.c_shipped > scripts/kconfig/zconf.lex.c cat /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/zconf.hash.c_shipped > scripts/kconfig/zconf.hash.c gcc -Iscripts/kconfig -I/builddir/build/BUILD/seabios-1.16.2/scripts/kconfig -Iscripts/kconfig -DCURSES_LOC="" -DLOCALE -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o scripts/kconfig/conf --olddefconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig # # configuration written to /builddir/build/BUILD/seabios-1.16.2/.config # make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' + make V=1 EXTRAVERSION=-2.fc37 PYTHON=python3 HOSTCC=gcc CC=x86_64-linux-gnu-gcc AS=x86_64-linux-gnu-as LD=x86_64-linux-gnu-ld OBJCOPY=x86_64-linux-gnu-objcopy OBJDUMP=x86_64-linux-gnu-objdump STRIP=x86_64-linux-gnu-strip out/vgabios.bin mkdir -p out//scripts/kconfig/lxdialog mkdir -p out//include/config mkdir -p out/src out/src/hw out/src/fw out/vgasrc make -C out/ -f /builddir/build/BUILD/seabios-1.16.2/scripts/kconfig/Makefile srctree=/builddir/build/BUILD/seabios-1.16.2 src=scripts/kconfig obj=scripts/kconfig Q= Kconfig=/builddir/build/BUILD/seabios-1.16.2/src/Kconfig silentoldconfig make[1]: Entering directory '/builddir/build/BUILD/seabios-1.16.2/out' Build Kconfig config file mkdir -p include/config include/generated scripts/kconfig/conf --silentoldconfig /builddir/build/BUILD/seabios-1.16.2/src/Kconfig make[1]: Leaving directory '/builddir/build/BUILD/seabios-1.16.2/out' Compile checking out/src/output.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/output.c -o out/src/output.o In file included from src/output.c:9: src/output.c: In function 'screenc': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ src/output.c:77:25: note: in expansion of macro 'GET_IVT' 77 | if (!MODESEGMENT && GET_IVT(0x10).segoff == FUNC16(entry_10).segoff) | ^~~~~~~ Compile checking out/src/string.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/string.c -o out/src/string.o Compile checking out/src/hw/pci.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/pci.c -o out/src/hw/pci.o Compile checking out/src/hw/serialio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/hw/serialio.c -o out/src/hw/serialio.o Compile checking out/vgasrc/vgainit.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgainit.c -o out/vgasrc/vgainit.o In file included from vgasrc/vgainit.c:8: In function 'set_equipment_flags', inlined from 'init_bios_area' at vgasrc/vgainit.c:141:5, inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/biosvar.h:43:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 43 | u16 eqf = GET_BDA(equipment_list_flags); | ^~~ In file included from src/biosvar.h:10: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ src/biosvar.h:44:5: note: in expansion of macro 'SET_BDA' 44 | SET_BDA(equipment_list_flags, (eqf & ~clear) | set); | ^~~~~~~ In function 'init_bios_area', inlined from 'vga_post' at vgasrc/vgainit.c:182:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:144:5: note: in expansion of macro 'SET_BDA' 144 | SET_BDA(modeset_ctl, 0x51); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:146:5: note: in expansion of macro 'SET_BDA' 146 | SET_BDA(dcc_index, CONFIG_VGA_STDVGA_PORTS ? 0x08 : 0xff); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:149:5: note: in expansion of macro 'SET_BDA' 149 | SET_BDA(video_msr, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgainit.c:150:5: note: in expansion of macro 'SET_BDA' 150 | SET_BDA(video_pal, 0x00); // Unavailable on vanilla vga, but... | ^~~~~~~ vgasrc/vgainit.c: In function 'vga_post': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:188:5: note: in expansion of macro 'SET_IVT' 188 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10)); | ^~~~~~~ In function 'allocate_extra_stack', inlined from 'vga_post' at vgasrc/vgainit.c:190:5: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgainit.c:97:5: note: in expansion of macro 'SET_IVT' 97 | SET_IVT(0x10, SEGOFF(get_global_seg(), (u32)entry_10_extrastack)); | ^~~~~~~ Compile checking out/vgasrc/vgabios.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgabios.c -o out/vgasrc/vgabios.o In file included from src/biosvar.h:10, from vgasrc/vgabios.c:8: vgasrc/vgabios.c: In function 'set_cursor_pos': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:91:20: note: in expansion of macro 'GET_BDA' 91 | if (cp.page == GET_BDA(video_page)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'verify_scroll': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:395:18: note: in expansion of macro 'GET_BDA' 395 | u16 nbrows = GET_BDA(video_rows) + 1; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:398:18: note: in expansion of macro 'GET_BDA' 398 | u16 nbcols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:410:39: note: in expansion of macro 'GET_BDA' 410 | struct cursorpos win = {ulx, uly, GET_BDA(video_page)}; | ^~~~~~~ vgasrc/vgabios.c: In function 'write_char': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:164:19: note: in expansion of macro 'GET_BDA' 164 | if (pcp->x == GET_BDA(video_cols)) { | ^~~~~~~ vgasrc/vgabios.c: In function 'write_teletype': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:195:18: note: in expansion of macro 'GET_BDA' 195 | u16 nbrows = GET_BDA(video_rows); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:200:37: note: in expansion of macro 'GET_BDA' 200 | struct cursorpos winsize = {GET_BDA(video_cols), nbrows+1}; | ^~~~~~~ vgasrc/vgabios.c: In function 'get_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:59:23: note: in expansion of macro 'GET_BDA' 59 | u16 cursor_type = GET_BDA(cursor_type); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:60:26: note: in expansion of macro 'GET_BDA' 60 | u8 emulate_cursor = (GET_BDA(video_ctl) & 1) == 0; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:65:19: note: in expansion of macro 'GET_BDA' 65 | u16 cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_cursor_shape': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:79:5: note: in expansion of macro 'SET_BDA' 79 | SET_BDA(cursor_type, cursor_type); | ^~~~~~~ vgasrc/vgabios.c: In function 'set_scan_lines': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:140:5: note: in expansion of macro 'SET_BDA' 140 | SET_BDA(char_height, lines); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:143:5: note: in expansion of macro 'SET_BDA' 143 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:144:16: note: in expansion of macro 'GET_BDA' 144 | u16 cols = GET_BDA(video_cols); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:145:5: note: in expansion of macro 'SET_BDA' 145 | SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); | ^~~~~~~ vgasrc/vgabios.c: In function 'handle_100e.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:510:42: note: in expansion of macro 'GET_BDA' 510 | struct cursorpos cp = get_cursor_pos(GET_BDA(video_page)); | ^~~~~~~ vgasrc/vgabios.c: In function 'bda_save_restore': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:231:38: note: in expansion of macro 'GET_IVT' 231 | SET_FARVAR(seg, info->font0, GET_IVT(0x1f)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgabios.c:232:38: note: in expansion of macro 'GET_IVT' 232 | SET_FARVAR(seg, info->font1, GET_IVT(0x43)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:243:9: note: in expansion of macro 'SET_IVT' 243 | SET_IVT(0x1f, GET_FARVAR(seg, info->font0)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:244:9: note: in expansion of macro 'SET_IVT' 244 | SET_IVT(0x43, GET_FARVAR(seg, info->font1)); | ^~~~~~~ vgasrc/vgabios.c: In function 'get_current_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ vgasrc/vgabios.c: In function 'vga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:281:9: note: in expansion of macro 'SET_BDA' 281 | SET_BDA(video_mode, 0xff); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:279:9: note: in expansion of macro 'SET_BDA' 279 | SET_BDA(video_mode, mode); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:296:9: note: in expansion of macro 'SET_BDA' 296 | SET_BDA(video_cols, width / cwidth); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:297:9: note: in expansion of macro 'SET_BDA' 297 | SET_BDA(video_rows, (height / cheight) - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:298:9: note: in expansion of macro 'SET_BDA' 298 | SET_BDA(cursor_type, vga_emulate_text() ? 0x0607 : 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:291:9: note: in expansion of macro 'SET_BDA' 291 | SET_BDA(video_cols, width); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:292:9: note: in expansion of macro 'SET_BDA' 292 | SET_BDA(video_rows, height-1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:293:9: note: in expansion of macro 'SET_BDA' 293 | SET_BDA(cursor_type, 0x0607); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:300:5: note: in expansion of macro 'SET_BDA' 300 | SET_BDA(video_pagesize, calc_page_size(memmodel, width, height)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:301:5: note: in expansion of macro 'SET_BDA' 301 | SET_BDA(crtc_address, CONFIG_VGA_STDVGA_PORTS ? stdvga_get_crtc() : 0); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:302:5: note: in expansion of macro 'SET_BDA' 302 | SET_BDA(char_height, cheight); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:303:5: note: in expansion of macro 'SET_BDA' 303 | SET_BDA(video_ctl, 0x60 | (flags & MF_NOCLEARMEM ? 0x80 : 0x00)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:304:5: note: in expansion of macro 'SET_BDA' 304 | SET_BDA(video_switches, 0xF9); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:305:26: note: in expansion of macro 'GET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:305:5: note: in expansion of macro 'SET_BDA' 305 | SET_BDA(modeset_ctl, GET_BDA(modeset_ctl) & 0x7f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:308:9: note: in expansion of macro 'SET_BDA' 308 | SET_BDA(cursor_pos[i], 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:309:5: note: in expansion of macro 'SET_BDA' 309 | SET_BDA(video_pagestart, 0x0000); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:310:5: note: in expansion of macro 'SET_BDA' 310 | SET_BDA(video_page, 0x00); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:313:5: note: in expansion of macro 'SET_IVT' 313 | SET_IVT(0x1f, SEGOFF(get_global_seg(), (u32)&vgafont8[128 * 8])); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:323:9: note: in expansion of macro 'SET_IVT' 323 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont16)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:320:9: note: in expansion of macro 'SET_IVT' 320 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont14)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:317:9: note: in expansion of macro 'SET_IVT' 317 | SET_IVT(0x43, SEGOFF(get_global_seg(), (u32)vgafont8)); | ^~~~~~~ vgasrc/vgabios.c: In function 'load_gfx_font': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:735:5: note: in expansion of macro 'SET_IVT' 735 | SET_IVT(0x43, SEGOFF(seg, off)); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:751:5: note: in expansion of macro 'SET_BDA' 751 | SET_BDA(video_rows, rows - 1); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:752:5: note: in expansion of macro 'SET_BDA' 752 | SET_BDA(char_height, height); | ^~~~~~~ In function 'handle_101b', inlined from 'handle_10' at vgasrc/vgabios.c:1125:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ^ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1062:38: note: in expansion of macro 'GET_BDA' 1062 | SET_FARVAR(seg, info->dcc_index, GET_BDA(dcc_index)); | ^~~~~~~ In function 'handle_101a01', inlined from 'handle_101a' at vgasrc/vgabios.c:1032:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:1016:5: note: in expansion of macro 'SET_BDA' 1016 | SET_BDA(dcc_index, regs->bl); | ^~~~~~~ In function 'handle_101a00', inlined from 'handle_101a' at vgasrc/vgabios.c:1031:16, inlined from 'handle_10' at vgasrc/vgabios.c:1124:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:1009:16: note: in expansion of macro 'GET_BDA' 1009 | regs->bx = GET_BDA(dcc_index); | ^~~~~~~ In function 'handle_101234', inlined from 'handle_1012' at vgasrc/vgabios.c:973:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:935:25: note: in expansion of macro 'GET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:935:5: note: in expansion of macro 'SET_BDA' 935 | SET_BDA(video_ctl, (GET_BDA(video_ctl) & ~0x01) | (regs->al & 0x01)); | ^~~~~~~ In function 'handle_101233', inlined from 'handle_1012' at vgasrc/vgabios.c:972:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:927:13: note: in expansion of macro 'GET_BDA' 927 | u8 v2 = GET_BDA(modeset_ctl) & ~0x02; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:928:5: note: in expansion of macro 'SET_BDA' 928 | SET_BDA(modeset_ctl, v | v2); | ^~~~~~~ In function 'handle_101231', inlined from 'handle_1012' at vgasrc/vgabios.c:970:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:909:15: note: in expansion of macro 'GET_BDA' 909 | u8 mctl = GET_BDA(video_ctl) & ~0x08; | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:910:5: note: in expansion of macro 'SET_BDA' 910 | SET_BDA(video_ctl, mctl | v); | ^~~~~~~ In function 'handle_101230', inlined from 'handle_1012' at vgasrc/vgabios.c:969:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:878:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 878 | u8 mctl = GET_BDA(modeset_ctl); | ^~~~ vgasrc/vgabios.c:879:8: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 879 | u8 vswt = GET_BDA(video_switches); | ^~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:900:5: note: in expansion of macro 'SET_BDA' 900 | SET_BDA(modeset_ctl, mctl); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:901:5: note: in expansion of macro 'SET_BDA' 901 | SET_BDA(video_switches, vswt); | ^~~~~~~ In function 'handle_101210', inlined from 'handle_1012' at vgasrc/vgabios.c:968:16, inlined from 'handle_10' at vgasrc/vgabios.c:1122:16: vgasrc/vgabios.c:867:9: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 867 | u16 crtc_addr = GET_BDA(crtc_address); | ^~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:872:16: note: in expansion of macro 'GET_BDA' 872 | regs->cx = GET_BDA(video_switches) & 0x0f; | ^~~~~~~ In function 'handle_101130', inlined from 'handle_1011' at vgasrc/vgabios.c:853:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 790 | struct segoff_s so = GET_IVT(0x43); | ^~ vgasrc/vgabios.c:790:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 784 | struct segoff_s so = GET_IVT(0x1f); | ^~ vgasrc/vgabios.c:784:25: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:824:16: note: in expansion of macro 'GET_BDA' 824 | regs->cx = GET_BDA(char_height) & 0xff; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:827:16: note: in expansion of macro 'GET_BDA' 827 | regs->dl = GET_BDA(video_rows); | ^~~~~~~ In function 'handle_101120', inlined from 'handle_1011' at vgasrc/vgabios.c:854:16, inlined from 'handle_10' at vgasrc/vgabios.c:1121:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:22:5: note: in expansion of macro 'SET_FARVAR' 22 | SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) | ^~~~~~~~~~ vgasrc/vgabios.c:727:5: note: in expansion of macro 'SET_IVT' 727 | SET_IVT(0x1f, SEGOFF(regs->es, regs->bp)); | ^~~~~~~ In function 'handle_100f', inlined from 'handle_10' at vgasrc/vgabios.c:1119:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:518:16: note: in expansion of macro 'GET_BDA' 518 | regs->bh = GET_BDA(video_page); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:16: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:519:39: note: in expansion of macro 'GET_BDA' 519 | regs->al = GET_BDA(video_mode) | (GET_BDA(video_ctl) & 0x80); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:520:16: note: in expansion of macro 'GET_BDA' 520 | regs->ah = GET_BDA(video_cols); | ^~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'set_active_page', inlined from 'handle_1005' at vgasrc/vgabios.c:387:5, inlined from 'handle_10' at vgasrc/vgabios.c:1109:16: src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:127:5: note: in expansion of macro 'SET_BDA' 127 | SET_BDA(video_pagestart, address); | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.c:128:5: note: in expansion of macro 'SET_BDA' 128 | SET_BDA(video_page, page); | ^~~~~~~ In function 'handle_1003', inlined from 'handle_10' at vgasrc/vgabios.c:1107:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:370:16: note: in expansion of macro 'GET_BDA' 370 | regs->cx = GET_BDA(cursor_type); | ^~~~~~~ In function 'handle_1000', inlined from 'handle_10' at vgasrc/vgabios.c:1104:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgabios.c:339:30: note: in expansion of macro 'GET_BDA' 339 | int flags = MF_LEGACY | (GET_BDA(modeset_ctl) & (MF_NOPALETTE|MF_GRAYSUM)); | ^~~~~~~ Compile checking out/vgasrc/vgafb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafb.c -o out/vgasrc/vgafb.o In file included from src/biosvar.h:10, from vgasrc/vgafb.c:8: vgasrc/vgafb.c: In function 'get_font_data': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:387:23: note: in expansion of macro 'GET_BDA' 387 | int char_height = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:390:16: note: in expansion of macro 'GET_IVT' 390 | font = GET_IVT(0x1f); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:20:5: note: in expansion of macro 'GET_FARVAR' 20 | GET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector]) | ^~~~~~~~~~ vgasrc/vgafb.c:393:16: note: in expansion of macro 'GET_IVT' 393 | font = GET_IVT(0x43); | ^~~~~~~ vgasrc/vgafb.c: In function 'text_address': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:552:18: note: in expansion of macro 'GET_BDA' 552 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:553:22: note: in expansion of macro 'GET_BDA' 553 | u32 pageoffset = GET_BDA(video_pagesize) * cp.page; | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_clear_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:590:18: note: in expansion of macro 'GET_BDA' 590 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_clear_chars', inlined from 'vgafb_clear_chars.isra' at vgasrc/vgafb.c:586:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:373:19: note: in expansion of macro 'GET_BDA' 373 | int cheight = GET_BDA(char_height); | ^~~~~~~ vgasrc/vgafb.c: In function 'vgafb_move_chars.isra': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:570:18: note: in expansion of macro 'GET_BDA' 570 | int stride = GET_BDA(video_cols) * 2; | ^~~~~~~ In function 'gfx_move_chars', inlined from 'vgafb_move_chars.isra' at vgasrc/vgafb.c:566:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:356:19: note: in expansion of macro 'GET_BDA' 356 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_write_char', inlined from 'vgafb_write_char' at vgasrc/vgafb.c:633:9: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:404:17: note: in expansion of macro 'GET_BDA' 404 | if (cp.x >= GET_BDA(video_cols)) | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:411:19: note: in expansion of macro 'GET_BDA' 411 | int cheight = GET_BDA(char_height); | ^~~~~~~ In function 'gfx_read_char', inlined from 'vgafb_read_char' at vgasrc/vgafb.c:655:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:456:19: note: in expansion of macro 'GET_BDA' 456 | int cheight = GET_BDA(char_height); | ^~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/biosvar.h:37:5: note: in expansion of macro 'GET_FARVAR' 37 | GET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var) | ^~~~~~~~~~ vgasrc/vgafb.c:457:17: note: in expansion of macro 'GET_BDA' 457 | if (cp.x >= GET_BDA(video_cols) || cheight > ARRAY_SIZE(lines)) | ^~~~~~~ Compile checking out/vgasrc/swcursor.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/swcursor.c -o out/vgasrc/swcursor.o Compile checking out/vgasrc/vgafonts.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vgafonts.c -o out/vgasrc/vgafonts.o Compile checking out/vgasrc/vbe.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/vbe.c -o out/vgasrc/vbe.o In file included from src/biosvar.h:10, from vgasrc/vbe.c:9: vgasrc/vbe.c: In function 'vbe_104f05': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at vgasrc/vbe.c:458:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:38: note: in definition of macro 'SET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at vgasrc/vbe.c:451:16: src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u16[0]' {aka 'short unsigned int[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ Compile checking out/vgasrc/stdvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvga.c -o out/vgasrc/stdvga.o Compile checking out/vgasrc/stdvgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgamodes.c -o out/vgasrc/stdvgamodes.o In file included from src/biosvar.h:10, from vgasrc/stdvgamodes.c:8: vgasrc/stdvgamodes.c: In function 'stdvga_build_video_param': src/farptr.h:182:35: warning: array subscript 0 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ src/farptr.h:182:35: warning: array subscript 1 is outside array bounds of 'struct segoff_s[0]' [-Warray-bounds] 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^ src/biosvar.h:39:5: note: in expansion of macro 'SET_FARVAR' 39 | SET_FARVAR(SEG_BDA, ((struct bios_data_area_s *)0)->var, (val)) | ^~~~~~~~~~ vgasrc/stdvgamodes.c:360:5: note: in expansion of macro 'SET_BDA' 360 | SET_BDA(video_savetable | ^~~~~~~ Compile checking out/vgasrc/stdvgaio.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/stdvgaio.c -o out/vgasrc/stdvgaio.o Compile checking out/vgasrc/clext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/clext.c -o out/vgasrc/clext.o Compile checking out/vgasrc/svgamodes.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/svgamodes.c -o out/vgasrc/svgamodes.o Compile checking out/vgasrc/atiext.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/atiext.c -o out/vgasrc/atiext.o Compile checking out/vgasrc/bochsvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsvga.c -o out/vgasrc/bochsvga.o Compile checking out/vgasrc/geodevga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/geodevga.c -o out/vgasrc/geodevga.o Compile checking out/src/fw/coreboot.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c src/fw/coreboot.c -o out/src/fw/coreboot.o Compile checking out/vgasrc/cbvga.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/cbvga.c -o out/vgasrc/cbvga.o In file included from src/biosvar.h:10, from vgasrc/cbvga.c:8: vgasrc/cbvga.c: In function 'cbvga_set_mode': src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ vgasrc/cbvga.c:139:22: note: in expansion of macro 'GET_BDA_EXT' 139 | u8 extra_stack = GET_BDA_EXT(flags) & BF_EXTRA_STACK; | ^~~~~~~~~~~ src/farptr.h:180:6: warning: array subscript 0 is outside array bounds of 'u8[0]' {aka 'unsigned char[]'} [-Warray-bounds] 180 | (*((typeof(&(var)))MAKE_FLATPTR((seg), &(var)))) | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/farptr.h:182:10: note: in expansion of macro 'GET_FARVAR' 182 | do { GET_FARVAR((seg), (var)) = (val); } while (0) | ^~~~~~~~~~ vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ vgasrc/cbvga.c:140:5: note: in expansion of macro 'MASK_BDA_EXT' 140 | MASK_BDA_EXT(flags, BF_EMULATE_TEXT, emul ? BF_EMULATE_TEXT : 0); | ^~~~~~~~~~~~ Compile checking out/vgasrc/bochsdisplay.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/bochsdisplay.c -o out/vgasrc/bochsdisplay.o Compile checking out/vgasrc/ramfb.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODE16=0 -DMODESEGMENT=0 -c vgasrc/ramfb.c -o out/vgasrc/ramfb.o Compiling whole program out/vgaccode16.raw.s printf '#include "src/output.c"\n #include "src/string.c"\n #include "src/hw/pci.c"\n #include "src/hw/serialio.c"\n #include "vgasrc/vgainit.c"\n #include "vgasrc/vgabios.c"\n #include "vgasrc/vgafb.c"\n #include "vgasrc/swcursor.c"\n #include "vgasrc/vgafonts.c"\n #include "vgasrc/vbe.c"\n #include "vgasrc/stdvga.c"\n #include "vgasrc/stdvgamodes.c"\n #include "vgasrc/stdvgaio.c"\n #include "vgasrc/clext.c"\n #include "vgasrc/svgamodes.c"\n #include "vgasrc/atiext.c"\n #include "vgasrc/bochsvga.c"\n #include "vgasrc/geodevga.c"\n #include "src/fw/coreboot.c"\n #include "vgasrc/cbvga.c"\n #include "vgasrc/bochsdisplay.c"\n #include "vgasrc/ramfb.c"\n' > out/vgaccode16.raw.s.tmp.c x86_64-linux-gnu-gcc -I. -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -fno-omit-frame-pointer -S -Isrc -fwhole-program -DWHOLE_PROGRAM -c out/vgaccode16.raw.s.tmp.c -o out/vgaccode16.raw.s In file included from ./src/output.c:9, from out/vgaccode16.raw.s.tmp.c:1: In function 'bda_save_restore', inlined from 'stdvga_save_restore' at ./vgasrc/stdvga.c:453:12: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.c:230:9: note: in expansion of macro 'SET_FARVAR' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:230:41: note: in expansion of macro 'GET_BDA_EXT' 230 | SET_FARVAR(seg, info->vbe_mode, GET_BDA_EXT(vbe_mode)); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:240:9: note: in expansion of macro 'SET_BDA_EXT' 240 | SET_BDA_EXT(vbe_mode, vbe_mode); | ^~~~~~~~~~~ ./src/farptr.h:37:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:73:13: note: in expansion of macro 'WRITE16_SEG' 73 | WRITE16_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:242:9: note: in expansion of macro 'SET_BDA_EXT' 242 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_pixel' at ./vgasrc/vgafb.c:505:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_pixel' at ./vgasrc/vgafb.c:529:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_write_char' at ./vgasrc/vgafb.c:628:33, inlined from 'write_char.isra' at ./vgasrc/vgabios.c:161:5: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_clear_chars.constprop.isra' at ./vgasrc/vgafb.c:581:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_move_chars.isra' at ./vgasrc/vgafb.c:561:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ ./vgasrc/vgabios.c: In function 'vga_set_mode': ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:282:5: note: in expansion of macro 'SET_BDA_EXT' 282 | SET_BDA_EXT(vbe_mode, mode | (flags & MF_VBEFLAGS)); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:37:53: note: in definition of macro 'WRITE16_SEG' 37 | __asm__(prefix "movw %w1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.c:283:5: note: in expansion of macro 'SET_BDA_EXT' 283 | SET_BDA_EXT(vgamode_offset, (u32)vmode_g); | ^~~~~~~~~~~ ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~ ./src/farptr.h:34:53: note: in definition of macro 'WRITE8_SEG' 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vgabios.c:288:9: note: in expansion of macro 'MASK_BDA_EXT' 288 | MASK_BDA_EXT(flags, BF_EXTRA_STACK | ^~~~~~~~~~~~ ./vgasrc/vbe.c: In function 'vbe_104f05': ./vgasrc/vgabios.h:61:61: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~ ./src/farptr.h:22:19: note: in definition of macro 'READ16_SEG' 22 | : "m"(var), "m"(__segment_ ## SEG)) | ^~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:257:9: note: in expansion of macro 'GET_BDA_EXT' 257 | if (GET_BDA_EXT(vbe_mode) & MF_LINEARFB) { | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f05' at ./vgasrc/vbe.c:261:33: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f10', inlined from 'handle_104f' at ./vgasrc/vbe.c:458:16: ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:395:20: note: in expansion of macro 'GET_BDA_EXT' 395 | regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK; | ^~~~~~~~~~~ ./src/farptr.h:18:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 18 | __asm__(prefix "movb %%" #SEG ":%1, %b0" : "=Qi"(value) \ | ^~~~~~~ ./src/farptr.h:113:34: note: in definition of macro '__SET_FARVAR' 113 | typeof(var) __sfv_val = (val); \ | ^~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./src/farptr.h:58:9: note: in expansion of macro 'READ8_SEG' 58 | READ8_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:23: note: in expansion of macro 'GET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ ./src/farptr.h:34:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 34 | __asm__(prefix "movb %b1, %%" #SEG ":%0" : "=m"(var) \ | ^~~~~~~ ./src/farptr.h:71:13: note: in expansion of macro 'WRITE8_SEG' 71 | WRITE8_SEG(prefix, seg, var, (val)); \ | ^~~~~~~~~~ ./src/farptr.h:145:32: note: in expansion of macro '__SET_VAR' 145 | #define SET_VAR(seg, var, val) __SET_VAR("", seg, (var), (val)) | ^~~~~~~~~ ./src/farptr.h:115:9: note: in expansion of macro 'SET_VAR' 115 | SET_VAR(ES, (var), __sfv_val); \ | ^~~~~~~ ./src/farptr.h:143:35: note: in expansion of macro '__SET_FARVAR' 143 | #define SET_FARVAR(seg, var, val) __SET_FARVAR((seg), (var), (val)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:63:5: note: in expansion of macro 'SET_FARVAR' 63 | SET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var, (val)) | ^~~~~~~~~~ ./vgasrc/vgabios.h:65:5: note: in expansion of macro 'SET_BDA_EXT' 65 | SET_BDA_EXT(var, (GET_BDA_EXT(var) & ~(off)) | (on)) | ^~~~~~~~~~~ ./vgasrc/vbe.c:392:9: note: in expansion of macro 'MASK_BDA_EXT' 392 | MASK_BDA_EXT(flags, BF_PM_MASK, regs->bh & BF_PM_MASK); | ^~~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f08' at ./vgasrc/vbe.c:352:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:456:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f07' at ./vgasrc/vbe.c:316:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:455:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vbe_104f06' at ./vgasrc/vbe.c:286:33, inlined from 'handle_104f' at ./vgasrc/vbe.c:454:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'vbe_104f03', inlined from 'handle_104f' at ./vgasrc/vbe.c:451:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vbe.c:227:16: note: in expansion of macro 'GET_BDA_EXT' 227 | regs->bx = GET_BDA_EXT(vbe_mode); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'vgafb_read_char' at ./vgasrc/vgafb.c:650:33, inlined from 'handle_1008' at ./vgasrc/vgabios.c:431:25, inlined from 'handle_10' at ./vgasrc/vgabios.c:1112:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ In function 'get_current_mode', inlined from 'set_active_page' at ./vgasrc/vgabios.c:117:33, inlined from 'handle_1005' at ./vgasrc/vgabios.c:387:5, inlined from 'handle_10' at ./vgasrc/vgabios.c:1109:16: ./src/farptr.h:21:5: warning: array subscript 0 is outside array bounds of 'struct vga_bda_s[0]' [-Warray-bounds] 21 | __asm__(prefix "movw %%" #SEG ":%1, %w0" : "=ri"(value) \ | ^~~~~~~ ./src/farptr.h:60:9: note: in expansion of macro 'READ16_SEG' 60 | READ16_SEG(prefix, seg, __val, var); \ | ^~~~~~~~~~ ./src/farptr.h:144:27: note: in expansion of macro '__GET_VAR' 144 | #define GET_VAR(seg, var) __GET_VAR("", seg, (var)) | ^~~~~~~~~ ./src/farptr.h:111:5: note: in expansion of macro 'GET_VAR' 111 | GET_VAR(ES, (var)); }) | ^~~~~~~ ./src/farptr.h:142:30: note: in expansion of macro '__GET_FARVAR' 142 | #define GET_FARVAR(seg, var) __GET_FARVAR((seg), (var)) | ^~~~~~~~~~~~ ./vgasrc/vgabios.h:61:5: note: in expansion of macro 'GET_FARVAR' 61 | GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var) | ^~~~~~~~~~ ./vgasrc/vgabios.c:257:20: note: in expansion of macro 'GET_BDA_EXT' 257 | return (void*)(GET_BDA_EXT(vgamode_offset)+0); | ^~~~~~~~~~~ Fixup VGA rom assembler python3 ./scripts/vgafixup.py out/vgaccode16.raw.s out/vgaccode16.s x86_64-linux-gnu-as --32 src/code16gcc.s out/vgaccode16.s -o out/vgaccode16.o Compiling to assembler out/src/asm-offsets.s x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -S -c src/asm-offsets.c -o out/src/asm-offsets.s Generating offset file out/asm-offsets.h ./scripts/gen-offsets.sh out/src/asm-offsets.s out/asm-offsets.h Compiling (16bit) out/vgaentry.o x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c -D__ASSEMBLY__ vgasrc/vgaentry.S -o out/vgaentry.o Precompiling out/vgasrc/vgalayout.lds cpp -P -MD -MT out/vgasrc/vgalayout.lds -D__ASSEMBLY__ vgasrc/vgalayout.lds.S -o out/vgasrc/vgalayout.lds Linking out/vgarom.o python3 ./scripts/buildversion.py -e "-2.fc37" -t "x86_64-linux-gnu-gcc;x86_64-linux-gnu-as;x86_64-linux-gnu-ld;x86_64-linux-gnu-objcopy;x86_64-linux-gnu-objdump;x86_64-linux-gnu-strip" out/autovgaversion.h Version: 1.16.2-2.fc37 x86_64-linux-gnu-gcc -Iout/ -Isrc -Os -MD -g -Wall -Wno-strict-aliasing -Wold-style-definition -Wtype-limits -m32 -march=i386 -mregparm=3 -mpreferred-stack-boundary=2 -minline-all-stringops -fomit-frame-pointer -freg-struct-return -ffreestanding -fno-delete-null-pointer-checks -ffunction-sections -fdata-sections -fno-common -fno-merge-constants -fno-pie -fno-stack-protector -fstack-check=no -Wno-address-of-packed-member -fcf-protection=none -DMODESEGMENT=1 -fno-defer-pop -fno-jump-tables -fno-tree-switch-conversion -DMODE16=1 -m16 --param large-stack-frame=4 -c vgasrc/vgaversion.c -o out/vgaversion.o x86_64-linux-gnu-ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o out/vgaentry.o out/vgaversion.o -o out/vgarom.o Extracting binary out/vgabios.bin.raw x86_64-linux-gnu-objcopy -O binary out/vgarom.o out/vgabios.bin.raw Finalizing rom out/vgabios.bin python3 ./scripts/buildrom.py out/vgabios.bin.raw out/vgabios.bin + cp out/vgabios.bin binaries/vgabios-ati.bin + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.nTwsMc + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x '!=' / ']' + rm -rf /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x ++ dirname /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules' + export FCFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd seabios-1.16.2 + mkdir -p /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x/usr/share/seabios + mkdir -p /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x/usr/share/seavgabios + install -m 0644 binaries/bios.bin /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x/usr/share/seabios/bios.bin + install -m 0644 binaries/bios-256k.bin /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x/usr/share/seabios/bios-256k.bin + install -m 0644 binaries/bios-csm.bin /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x/usr/share/seabios/bios-csm.bin + install -m 0644 binaries/bios-coreboot.bin /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x/usr/share/seabios/bios-coreboot.bin + install -m 0644 binaries/bios-microvm.bin /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x/usr/share/seabios/bios-microvm.bin + install -m 0644 binaries/vgabios-ati.bin binaries/vgabios-bochs-display.bin binaries/vgabios-cirrus.bin binaries/vgabios-isavga.bin binaries/vgabios-qxl.bin binaries/vgabios-ramfb.bin binaries/vgabios-stdvga.bin binaries/vgabios-virtio.bin binaries/vgabios-vmware.bin /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x/usr/share/seavgabios + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 + /usr/lib/rpm/redhat/brp-python-hardlink Processing files: seabios-1.16.2-2.fc37.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.NeQC7h + umask 022 + cd /builddir/build/BUILD + cd seabios-1.16.2 + DOCDIR=/builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x/usr/share/doc/seabios + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x/usr/share/doc/seabios + cp -pr COPYING /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x/usr/share/doc/seabios + cp -pr COPYING.LESSER /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x/usr/share/doc/seabios + cp -pr README /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x/usr/share/doc/seabios + RPM_EC=0 ++ jobs -p + exit 0 Provides: seabios = 1.16.2-2.fc37 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Processing files: seabios-bin-1.16.2-2.fc37.noarch Provides: seabios-bin = 1.16.2-2.fc37 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Processing files: seavgabios-bin-1.16.2-2.fc37.noarch Provides: seavgabios-bin = 1.16.2-2.fc37 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x Wrote: /builddir/build/RPMS/seavgabios-bin-1.16.2-2.fc37.noarch.rpm Wrote: /builddir/build/RPMS/seabios-1.16.2-2.fc37.noarch.rpm Wrote: /builddir/build/RPMS/seabios-bin-1.16.2-2.fc37.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.X5yvD7 + umask 022 + cd /builddir/build/BUILD + cd seabios-1.16.2 + /usr/bin/rm -rf /builddir/build/BUILDROOT/seabios-1.16.2-2.fc37.s390x + RPM_EC=0 ++ jobs -p + exit 0 Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.dq5csV + umask 022 + cd /builddir/build/BUILD + rm -rf seabios-1.16.2 seabios-1.16.2.gemspec + RPM_EC=0 ++ jobs -p + exit 0 Finish: rpmbuild seabios-1.16.2-2.fc37.src.rpm Finish: build phase for seabios-1.16.2-2.fc37.src.rpm INFO: chroot_scan: 3 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-37-s390x-1690460661.666088/root/var/log/dnf.rpm.log /var/lib/mock/fedora-37-s390x-1690460661.666088/root/var/log/dnf.librepo.log /var/lib/mock/fedora-37-s390x-1690460661.666088/root/var/log/dnf.log INFO: Done(/var/lib/copr-rpmbuild/results/seabios-1.16.2-2.fc37.src.rpm) Config(child) 2 minutes 27 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot Finish: run Running RPMResults tool