Skip to content

release: sweep dev → main (v0.16.2)#327

Merged
octalide merged 5 commits into
mainfrom
dev
Jun 29, 2026
Merged

release: sweep dev → main (v0.16.2)#327
octalide merged 5 commits into
mainfrom
dev

Conversation

@octalide

Copy link
Copy Markdown
Collaborator

Integration sweep of devmain for v0.16.2. No-fast-forward merge to preserve branching history.

Contents (#324, via #325)

  • runtime/darwin — aarch64 _start enters via the PIE LC_MAIN register convention: captures argc/argv/envp from x0/x1/x2 as dyld hands them, instead of reading the stack.
  • os/darwin — corrected mkdirat (475), unlinkat (472), faccessat (466) syscall numbers (the prior 464/466/468 were wrong; 464 is openat_nocancel).
  • releasemach.toml 0.16.1 → 0.16.2 + CHANGELOG (release: v0.16.2 #326).

Notes

  • Darwin-arm64 correctness fixes; no API change. Patch release.
  • Unblocks mach#1723 (PIE Mach-O writer emits LC_MAIN, handing argc/argv/envp in registers — this _start reads them). mach consumes mach-std at branch/main, so #1723's lock can point at a main carrying this once merged here.
  • Tag v0.16.2 is pushed separately after merge, not from this PR.

octalide and others added 5 commits June 28, 2026 20:37
darwin arm64 executables become PIE LC_MAIN images (briar-systems/mach#1718,
#1722). dyld enters an LC_MAIN program like main(argc, argv, envp) with the
arguments in registers, not on the stack, so the entry captures argc/argv/envp
from x0/x1/x2 instead of reading them off [sp]. raw svc 0x80 is retained; the
x86_64 darwin entry is unchanged.

Closes #324
darwin mkdirat is 475 (464 is openat_nocancel), unlinkat is 472, and faccessat
is 466 - the previous 464/466/468 were wrong. these only surfaced once arm64
darwin binaries actually run (briar-systems/mach#1722): the native self-host build
failed to create its object directory because mkdirat hit the wrong trap.

Refs #324.
feat(runtime/darwin): arm64 entry via LC_MAIN register convention
@octalide octalide merged commit 0262511 into main Jun 29, 2026
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