Complete and validate FreeBSD std::sys providers
- Dominant language
- Rust
- Stars
- 53
- Forks
- 16
- Avg merge
- 4h 22m
- Merged PRs (30d)
- 46
Description
## Summary
PR #422 added a FreeBSD amd64 `std::sys` source foundation and compile-time routing. FreeBSD is still not a validated runtime target: several providers remain incomplete, no AArch64 provider exists, and native or emulated runtime coverage has not been established.
This issue tracks completion and validation of the FreeBSD platform layer rather than initial directory scaffolding.
## Completed in #422
- FreeBSD amd64 provider tree
- target-gated `std::sys` routing
- filesystem, process, memory, time, socket, terminal, and environment source contracts
- compiler-side source compilation coverage
## Remaining work
- [ ] Establish compiler target contracts tracked by #413.
- [ ] Add or deliberately defer the FreeBSD AArch64 provider after target support exists.
- [ ] Replace the amd64 environment stub with a working provider.
- [ ] Complete filesystem mutation primitives tracked by #382.
- [ ] Add system randomness through #383.
- [ ] Add target-gated signal support through #384.
- [ ] Audit syscall IDs, constants, argument order, return conventions, and native structure layouts against FreeBSD source headers.
- [ ] Add native FreeBSD or QEMU/VM runtime fixtures.
## Completion criteria
- At least FreeBSD amd64 is a declared compiler target with a documented linker/runtime contract.
- Supported providers pass observable runtime tests.
- Unavailable capabilities are explicit and represented in #378.
- Native ABI definitions include concise authoritative-source notes.
- AArch64 is either implemented and tested or tracked as a separate target-dependent issue with no misleading source stub.
- High-level standard-library examples are enabled only for capabilities known to work.
Contributor guide
Research direction
Start by reviewing PR #422 and the target contracts tracked in #413, then map the remaining provider work across #378 and #382–#384. Validate the amd64 environment, filesystem, randomness, and signal paths against FreeBSD headers and runtime fixtures. Done means a declared amd64 target with documented ABI/runtime behavior, passing observable tests, and explicit handling of unsupported capabilities; AArch64 must be implemented or separately tracked.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100