Commit Graph

8 Commits

Author SHA1 Message Date
Red Bear OS bc4a04e826 fix: FdGuard::new takes usize, not Result 2026-07-04 09:32:38 +03:00
Red Bear OS 223e630a95 fix: Error::new for FdGuard::new 2026-07-04 09:27:29 +03:00
Red Bear OS 6ef8a55f22 fix: FdGuard does not implement Iterator — use ? operator 2026-07-04 09:25:38 +03:00
Red Bear OS 68ed35f243 fork: add redox_fcntl_v0 + redox_rt::sys::fcntl for redox-scheme 0.11.2
Imported from upstream relibc master: redox_fcntl_v0 in src/platform/redox/libredox.rs
and a thin redox_rt::sys::fcntl(fd, cmd, arg) wrapper around syscall::fcntl.

redox-scheme 0.11.2 from crates.io references redox_fcntl_v0 directly (it is
declared as an extern in libredox 0.1.18 and our local fork has it). Without
this symbol, every user daemon that uses redox-scheme 0.11.2 fails to link
with: undefined reference to redox_fcntl_v0.

This is the kind of upstream-tracking gap that the AGENTS.md fork-sync
policy exists to close. Upstream already had the function; we just had not
replayed that part of upstream history into the fork yet.

Bump the relibc fork forward in functional terms; no Cargo.toml version
change (per AGENTS.md fork-sync policy, the upstream-tag part stays
'0.2.5' and the rb-counter resets on a real upstream bump, not on
function additions).
2026-07-04 09:15:36 +03:00
vasilito 1232fb742a relibc: P5-signal-handler-panic-hardening — apply Phase 0e patch
Re-apply P5-signal-handler-panic-hardening.patch from local/patches/relibc/ to the local fork.
Multi-threading plan Phase 0e.
2026-07-02 07:13:05 +03:00
Red Bear OS 2cd334a1f9 Fix cpuid unsafe wrapper for Rust 1.98 compatibility
__cpuid is unsafe in Rust 1.92 but safe in 1.98. Wrap with
#[allow(unused_unsafe)] and explicit unsafe block for both versions.
2026-06-27 22:03:51 +03:00
Red Bear OS ae6549251b Implement spawn.h + fix VaList API for Rust 1.98 + signal.h stdint.h
spawn.h: Implement posix_spawn/posix_spawnp with file actions and
spawn attributes (flags, pgroup, sigmask, sigdefault). Uses fork+exec.

signal/cbindgen.toml: Add stdint.h to sys_includes for signalfd_siginfo
fixed-width integer types (uint32_t, int32_t, etc.).

VaList API migration for Rust 1.98.0-dev toolchain:
- VaListImpl merged into VaList (core::ffi::VaList)
- .arg()/.arg::<T>() renamed to .next_arg()/.next_arg::<T>()
- .as_va_list() removed (parameter is already VaList)
- .with_copy() replaced with .clone()
- printf.rs: Fix double-dereference cast for inline VaListInner

redox-rt/signal.rs: Remove unnecessary unsafe around __cpuid (safe in
new nightly).
2026-06-27 21:47:37 +03:00
Red Bear OS 1b3e94a20d Red Bear OS relibc baseline
From release 0.1.0 pre-patched archive.
This includes all Red Bear modifications previously maintained
as patches in local/patches/relibc/.
2026-06-27 09:19:26 +03:00