Files
chimera-gfx-Public/docs/evidence/phase07-offline-build-2026-07-17.md
T
Chimera GFX release export a6037502d7
phase0-ci / build-and-audit (push) Successful in 2m14s
Publish Chimera GFX source
2026-09-03 03:27:14 +02:00

62 lines
3.2 KiB
Markdown

# Phase-0.7 offline build evidence — 2026-07-17
- Public SDK: v0.41,
`d2e2e585740362976a39fdd5ccf390f199a7bc37`
- Firmware build gate: exact `9.60`
- Host validation: MSVC 19.50 `/W4 /WX`; Clang 18
warnings-as-errors/clang-tidy/format; GCC 15 ASan/UBSan
- Fuzz fallback: 100,000 deterministic ASan/UBSan inputs for both controlled
header and verified metadata
- Cross-build: all three targets with warnings-as-errors
- Reproducibility: two clean byte-identical builds per ELF
- Console actions: none
The complete machine evidence is
`manifests/runtime/phase-0.7-offline-audit.json`. Full ignored reports and
artifacts are packaged below `outputs/phase07/`.
## Exact outputs
| Artifact | SHA-256 | Size | Undefined imports | `DT_NEEDED` |
|---|---|---:|---|---|
| hardened elfldr | `63e810982471eb40cae3a20aa9df9a0a02892f420e429874fae4e99aa400b561` | 397000 | none | `libSceLibcInternal.sprx`, `libSceNet.sprx`, `libkernel_web.sprx` |
| controlled Payload Manager | `8fecf8241a46246eddbd21e8bb4d875f5d76f1f4f4c6a11384df1f131aa5e5b1` | 99560 | none | `libSceLibcInternal.sprx`, `libSceNet.sprx`, `libkernel_web.sprx` |
| lifecycle probe | `bfb4a5cc768e162fe4c2fddf41c3978e152722918a39085277fd172cb95a7182` | 112680 | `_exit`, `sceKernelSendNotificationRequest` | `libSceLibcInternal.sprx`, `libkernel_web.sprx` |
The lifecycle project's called functions are exactly one
`sceKernelSendNotificationRequest` followed by `_exit`. The normal SDK startup
is statically included and reaches `__patch_init` before `main`; that fact is
proven from source, linker map, disassembly, and the 499-edge lifecycle
callgraph rather than inferred from imports. The hardened loader audit records
1032 call edges and the controlled manager records 478.
The lifecycle linker map also contains stock-SDK `__dlopen`, `__dlsym`,
`sceKernelLoadStartModule`, and `sceKernelStopUnloadModule` symbols. Direct
static reachability proves the rtld initialization path but cannot resolve all
116 indirect lifecycle edges. The audit therefore records linked symbols,
direct `_start` reachability where symbolization permits it, and every
unresolved indirect edge separately. No graphics/display-sensitive symbol is
linked in any of the three audited ELFs.
## Final offline tests
- Chimera GFX Windows host build: MSVC `/W4 /WX`, 16/16 CTest passed.
- Hardened elfldr: MSVC 1/1; Clang 18 plus clang-tidy 1/1; GCC 15
ASan/UBSan 1/1; 100,000-input sanitizer fuzz pass.
- Controlled Payload Manager: MSVC 1/1; Clang 18 plus clang-tidy 2/2; GCC 15
ASan/UBSan 2/2; 100,000-input sanitizer fuzz pass.
- All three PS5 cross-builds passed warnings-as-errors and reproduced the
exact hashes and sizes above.
- Negative lifecycle firmware `9.50` configure failed before creating a build
graph.
- Controlled-manager build without exact hash/size/artifact ID failed.
- Static execution-policy refusal suite, manifest schemas, Phase-0.5/0.6
historical gates, Phase-0.7 proof matrix, safety audit, and secret scans
passed.
The local Clang installation does not contain the optional
`libclang_rt.asan`/libFuzzer runtime archives. Clang warnings and clang-tidy
therefore run without sanitizers; GCC supplies the ASan/UBSan and deterministic
fuzz coverage. This is a host-tool packaging limitation, not a target
compiler, linker, or ABI blocker.