Skip to content

Add process identity primitives to std::sys #381

Description

@LunaStev

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 Port the Linux standard-library syscall layer to RV64 #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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    cross-platformIssues related to making Wave work seamlessly across multiple operating systems.enhancementA request for a new feature or improvement.help wantedThe issue requires extra attention or help from others.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions