Expand description
LD_PRELOAD-Shim fuer Clock-Skew-Chaos (WP 5.F.2 Phase-B).
Crate chaos-clock-skew. Safety classification: STANDARD
(FFI-Boundary, dlsym-basiert).
Setzt clock_gettime() und gettimeofday() so um, dass eine
konfigurierbare Drift addiert wird. Die Drift kommt aus Env-
Variablen die der Test-Harness setzt:
CHAOS_CLOCK_SKEW_NS— fixe Offset in Nanosekunden (signed, negative Werte = Clock laeuft hinten).CHAOS_CLOCK_DRIFT_PPM— kontinuierliche Drift in parts-per-million (z.B.100= 100 µs/s langsamer).
Aktivierung:
cargo build -p chaos-clock-skew --release
LD_PRELOAD=$(pwd)/target/release/libchaos_clock_skew.so \
CHAOS_CLOCK_SKEW_NS=100000000 \
./my-processAuf macOS/Windows kompiliert die Crate nicht (kein dlsym-Pendant fuer system clock). Fuer den CI laeuft sie nur auf Linux.
§Was wird NICHT abgefangen?
CLOCK_MONOTONIC_RAW— bleibt unveraendert (nur fuer Bench-Tools wichtig).CLOCK_BOOTTIME— bleibt unveraendert.- Direct-syscall
clock_gettimeuebervDSO-Bypass —LD_PRELOADgreift bei vDSO-Calls nur wenn das Programm explizit ueber libc callt; das ist bei stdlib-Code der Fall.
Structs§
Constants§
- CLOCK_
MONOTONIC CLOCK_MONOTONIC.- CLOCK_
REALTIME CLOCK_REALTIME.
Functions§
- clock_
gettime ⚠ clock_gettime-Replacement.- gettimeofday⚠
gettimeofday-Replacement.
Type Aliases§
- ClockId
clockid_t-Enum, glibc-kompatibel.