wavefnd / wavefnd/Wave

Audit Darwin syscall IDs and ABI layouts against XNU

Open
#434 0 comments 0 reactions 0 assignees View on GitHub
bug help wanted os compatibility technical debt
Dominant language
Rust
Stars
53
Forks
16
Avg merge
4h 22m
Merged PRs (30d)
46

Description

## Summary

Recent macOS work found a Darwin syscall number being interpreted as an operation it did not implement. The current amd64 and arm64 providers need a systematic audit against Apple XNU instead of relying on Linux similarity or undocumented assumptions.

## Relevant code

- `std/sys/macos/amd64`
- `std/sys/macos/arm64`
- macOS native CI cases

## Scope

Audit every raw syscall identifier, argument order, return convention, constant, and native structure layout used by the macOS standard-library providers. Use the corresponding Apple XNU source and SDK declarations as authoritative references.

## Acceptance criteria

- A review table maps every used syscall and ABI structure to its XNU or SDK source.
- amd64 and arm64 differences are recorded explicitly.
- Incorrect, obsolete, or undocumented syscall assumptions are replaced with supported interfaces.
- Filesystem, process, memory, socket, terminal, time, and environment paths have focused native smoke coverage.
- Tests assert observable results rather than accepting any non-crash exit.
- Source comments link or name the authoritative definition where the ABI is non-obvious.
- No Linux syscall number or structure layout is reused on Darwin without proof.

Contributor guide

Open the contributing guide

Research direction

Start with the providers in std/sys/macos/amd64 and std/sys/macos/arm64, then compare each used syscall and ABI structure with the corresponding Apple XNU source and SDK declarations. Review the macOS native CI cases and build a table covering syscall mappings, ABI differences, and authoritative references. Done means supported interfaces are used, native smoke coverage spans the listed paths, and tests assert observable results.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
operating-systems
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.