wavefnd / wavefnd/Wave

Complete and validate FreeBSD std::sys providers

Open
#386 0 comments 0 reactions 0 assignees View on GitHub
cross-platform enhancement help wanted os support
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.