Skip to content

workaround(openbios): restrict build to x86_64 to avoid aarch64 segfault#16611

Merged
christopherco merged 1 commit intotomls/base/mainfrom
chrco/fix-openbios
Apr 12, 2026
Merged

workaround(openbios): restrict build to x86_64 to avoid aarch64 segfault#16611
christopherco merged 1 commit intotomls/base/mainfrom
chrco/fix-openbios

Conversation

@christopherco
Copy link
Copy Markdown
Collaborator

@christopherco christopherco commented Apr 12, 2026

The forthstrap Forth interpreter segfaults on aarch64 builders due to pointer truncation in cell2pointer() — mmap returns addresses above 4 GiB that do not fit in a 32-bit cell. This is a known upstream bug with no fix (openbios/openbios#18, openbios/openbios#25).

Add ExclusiveArch: x86_64 so Koji only schedules the build on x86_64 builders where the address space layout avoids the crash. The output RPMs remain noarch (firmware blobs for ppc/sparc).

Build verified locally; firmware ELFs inspected in mock.

The forthstrap Forth interpreter segfaults on aarch64 builders due to
pointer truncation in cell2pointer() — mmap returns addresses above
4 GiB that do not fit in a 32-bit cell. This is a known upstream bug
with no fix (openbios/openbios#18, #25).

Add ExclusiveArch: x86_64 so Koji only schedules the build on x86_64
builders where the address space layout avoids the crash. The output
RPMs remain noarch (firmware blobs for ppc/sparc).

Build verified locally; firmware ELFs inspected in mock.
@christopherco christopherco marked this pull request as ready for review April 12, 2026 05:24
Copilot AI review requested due to automatic review settings April 12, 2026 05:24
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an Azure Linux component overlay for openbios to restrict builds to x86_64, avoiding a known upstream forthstrap segfault on aarch64 builders while keeping the resulting firmware RPMs noarch.

Changes:

  • Introduce base/comps/openbios/openbios.comp.toml with an overlay adding ExclusiveArch: x86_64.
  • Remove the inline [components.openbios] entry from base/comps/components.toml to avoid duplicate component definitions.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
base/comps/openbios/openbios.comp.toml New per-component overlay adding ExclusiveArch: x86_64 with upstream issue references to document the rationale.
base/comps/components.toml Removes the inline openbios component entry now that a dedicated *.comp.toml defines it.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@christopherco christopherco merged commit 8e50130 into tomls/base/main Apr 12, 2026
9 checks passed
@christopherco christopherco deleted the chrco/fix-openbios branch April 12, 2026 06:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants