Files
RedBear-OS/local
vasilito 0f2135968c v5.11: relibc complete round-9 fixes and repair ifaddrs compilation
Completes the round-9 relibc fix pass (commit a41c5cb0) with
gap-fills and a critical build repair:

1. getrusage (relibc/src/platform/redox/mod.rs) - extended
   ProcStatFields to parse minflt/majflt/cminflt/cmajflt from the
   /proc/pid/stat line. The kernel currently hardwires these to
   0 but parsing them anyway means relibc automatically reports
   correct values when the kernel starts tracking them. inblock/
   oublock/nvcsw/nivcsw remain zero with a doc-comment noting
   the kernel proc scheme doesn't provide them (they're in
   /proc/pid/io and /proc/pid/status which relibc doesn't read).

2. pthread_condattr_setclock (relibc/src/header/pthread/cond.rs)
   - added CLOCK_PROCESS_CPUTIME_ID to the accepted-clocks set.
   (CLOCK_THREAD_CPUTIME_ID and the COARSE clocks are Linux-only
   and not defined on Redox; the existing CLOCK_REALTIME/
   CLOCK_MONOTONIC acceptance was POSIX-correct; this is the
   Redox-available extension.)

3. ifaddrs module - repaired pre-existing compilation errors
   introduced by commit d9760bdc:
   - AF_INET/AF_INET6 used to be imported from netinet_in
     (wrong module); now defined locally as sa_family_t with
     the correct values (2 and 10).
   - sa_family_t was imported from sys_socket (wrong module);
     now imported from bits_safamily_t.
   - AF_PACKET was used as the IPv6 family (wrong); replaced
     with AF_INET6.
   - Vec was not in scope; added use alloc::vec::Vec;.
   - copy_nonoverlapping direction bug: was copying zeroed
     sockaddr bytes into iface.addr (backwards); fixed to copy
     from iface.addr into the sockaddr.
   - CIDR prefix validation was rejecting all valid values
     (0..=128 => return None); fixed to accept all parseable
     values and let the per-family length check validate.

4. Reverted the uncommitted ifaddrs workaround (pub mod
   ifaddrs;) and broken clock_settime (referenced non-existent
   libredox::clock_settime) - per AGENTS.md NEVER comment out to
   fix builds and no stubs policies.

Per AGENTS.md NO-STUB POLICY: all ifaddrs module compilation
errors from the previous getifaddrs implementation are real
implementation bugs that have been fixed properly, not worked
around.
2026-07-27 10:49:31 +09:00
..