Repository navigation
v1.43
tagged this
04 Sep 04:57
The previous build dispatched with PT_DYNAMIC parsed but unprocessed. A DYN-style ORBIS image keeps absolute data pointers at link-time values until DT_RELA is applied; the current image carries 120,333 RELA entries (119,961 R_X86_64_RELATIVE, per DT_RELACOUNT). - elf_loader: capture and process PT_DYNAMIC after mapping. Applied relocation classes: R_X86_64_RELATIVE (target validated writable before each store) and R_64/GLOB_DAT/JUMP_SLOT whose symbol is defined in the image's own dynsym. Unresolved classes are counted, never guessed: undefined-symbol imports (815 on this image: 341 R_64, 31 GLOB_DAT, 443 JUMP_SLOT) form the HLE/NID worklist, IRELATIVE and the rest are logged by class. The first three relocations log old/new values plus the target stream offset for offline verification (dd + sha256). - syscalls: add GuestPcRing, a 64-slot per-run ring recording the guest RIP at every syscall bridge entry. Dumped on exec epilogue and on unclaimed faults so crash reports show how far the guest progressed; an empty ring (seq=0) proves the bridge was never reached. - EmuScreen: run the execution probe on every boot attempt instead of once per process (previous builds skipped re-execution after a contained crash). Attempt counter rides exec_probe_run events. Host test (scripts/host_reloc_test.cpp): the production loader run against the device-extracted inner ELF passes 12/12 checks covering counts, byte-level relocation values, and the entry proof. Build: versionName 1.43 (versionCode 44).