This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# Phase 1.0D CRT entry canary
|
||||
|
||||
`chimera_ps5_crt_entry_canary.elf` is a non-RetroArch diagnostic artifact. It
|
||||
uses the pinned normal SDK CRT, the same ET_DYN/W^X loader class, and the same
|
||||
`_Exit` selection as the software-smoke profile.
|
||||
|
||||
Its fixed behavior is:
|
||||
|
||||
1. enter `main`;
|
||||
2. attempt exactly one notification containing
|
||||
`CHIMERA C1 — CRT MAIN REACHED`;
|
||||
3. perform one relative `nanosleep` of two seconds, with no interrupted-sleep
|
||||
retry;
|
||||
4. call `_Exit(0)`.
|
||||
|
||||
It contains no SDL, VideoOut, Pad, AudioOut, filesystem, networking, thread
|
||||
creation, listener, retry, configuration, autoload, payload launch, or
|
||||
installation implementation. Its complete undefined-symbol set is `_Exit`,
|
||||
`memset`, `nanosleep`, and `sceKernelSendNotificationRequest`; DT_NEEDED is
|
||||
only `libSceLibcInternal.sprx` and `libkernel_web.sprx`.
|
||||
|
||||
The notification ABI is copied from the local lifecycle source at commit
|
||||
`fe08300339a13f899fb78ea404ada381a5cba87c`, Git blob
|
||||
`654e6659c9e6f2569ddccf1c9e46ea1c62c066f3`: 45 reserved bytes followed by
|
||||
3,075 message bytes, passed as
|
||||
`sceKernelSendNotificationRequest(0, &request, sizeof(request), 0)`. No
|
||||
notification ABI was inferred from a symbol name.
|
||||
|
||||
Static disassembly binds `main` at `0x0`, the notification indirect call at
|
||||
`0x24b`, `_Exit` at `0x23`, and SDK `_start` at `0x290`. The ELF has three
|
||||
LOAD segments (RX, R, RW), zero RWX segments, an empty init/fini array, no TLS,
|
||||
144 relocations, and 2,512 BSS bytes.
|
||||
|
||||
Two clean builds produced the same 106,344-byte SHA-256
|
||||
`c84c0fb43392ce17abc1e7e6be38b522f1b32a681fd516d684c3dbbf7b34b743`;
|
||||
both maps produced
|
||||
`96132ef015d1743606a86906c810b9e9b2832889a6d49863653b03dddb75cf07`.
|
||||
The ELF is `execution_eligible=false`.
|
||||
Reference in New Issue
Block a user