Add process identity primitives to std::sys
- Dominant language
- Rust
- Stars
- 53
- Forks
- 16
- Avg merge
- 4h 22m
- Merged PRs (30d)
- 46
Description
Tracked by #375 and represented in #378. Coordinate Linux architecture work with #370.
## Scope
Add target-specific process identity primitives and a portable std::sys::process facade for:
- getuid and geteuid.
- getgid and getegid.
- setuid and setgid where the platform contract is stable.
- supplementary group queries when the required buffer contract is defined.
Linux and macOS implementations must use source-auditable constants and ABI signatures. Future Windows and BSD providers may expose the closest platform contract without pretending that Unix identities are universal.
## Completion criteria
- [ ] Linux x86-64 wrappers have runtime smoke tests.
- [ ] RV64 constants and register contracts are integrated with #370.
- [ ] macOS behavior is tested on macOS CI.
- [ ] Unsupported operations have an explicit target-gated contract.
- [ ] The common facade does not leak architecture-specific syscall numbers.
Contributor guide
Research direction
Start with the std::sys::process facade scope and the Linux x86-64, RV64, and macOS requirements listed here; review #370, #375, and #378 for related architecture and tracking context. Done means Linux smoke tests, RV64 integration, macOS CI coverage, explicit target-gated unsupported operations, and no architecture-specific syscall numbers in the common facade.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100