Skip to content

Build Linux ARM64 standalone binaries with postject - #545

Draft
stevekaliski-stripe wants to merge 2 commits into
mainfrom
stevekaliski-arm64-sea-alignment
Draft

stevekaliski-stripe wants to merge 2 commits into
mainfrom
stevekaliski-arm64-sea-alignment

Conversation

@stevekaliski-stripe

@stevekaliski-stripe stevekaliski-stripe commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

The Linux ARM64 standalone CLI built by Node 26.13.0 can fail before startup on 16/64 KiB-page kernels because the built-in SEA injector produces incompatible ELF load mappings. This is tracked in nodejs/node#67048.

Use Node's documented preparation-blob + postject flow for Linux ARM64. Pin the matching Node producer/runtime to 26.13.0 and postject to 1.0.0-alpha.6. Other platforms retain the built-in SEA builder. Linux CI runs the resulting executables with --version/--help, records kernel/page size, and uploads binaries and checksums for validation on the target host.

Validation:

  • The external-postject candidate passed --version and --help on native ARM64 Linux with 4 KiB pages in https://github.com/stripe/link-cli/actions/runs/43042758509 (the later VM-tool installation was cancelled after Ubuntu DNS failures).
  • Independent static inspection passed 4/16/64 KiB offset/address congruence and nonoverlapping load mappings, and verified the SEA payload and exported-symbol GNU-hash lookups.
  • Frozen offline installation and workflow YAML/shell checks pass.
  • Native 64 KiB-kernel validation remains pending: the standard ubuntu-24.04-arm runner reports 4096-byte pages, and the matching runner label/group still needs to be identified. This PR stays draft until that target-environment check is available.

stevekaliski-stripe and others added 2 commits November 10, 2026 22:06
Committed-By-Agent: codex
Co-authored-by: codex <noreply@openai.com>
Committed-By-Agent: codex
Co-authored-by: codex <noreply@openai.com>
@stevekaliski-stripe stevekaliski-stripe changed the title Fix ARM64 SEA ELF alignment for larger kernel pages Build Linux ARM64 standalone binaries with postject Nov 11, 2026

This branch has not been deployed

No deployments
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.

1 participant