248 lines
12 KiB
JSON
248 lines
12 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"phase": "PHASE_1_0F_STARTUP_INTERVAL_DIAGNOSTIC",
|
|
"status": "OFFLINE_ARTIFACT_PREPARED_NO_DEVICE_AUTHORIZATION",
|
|
"scope": "OFFLINE_BUILD_AND_STATIC_AUDIT_ONLY",
|
|
"date": "2026-07-22",
|
|
"repository": "chimera-retroarch",
|
|
"branch": "codex/ps5-d02-d03-interval-diagnostic",
|
|
"source_commit": "0eaf68d6de4dc9757d85cc7ad5c714b1d151c8f8",
|
|
"baseline_commit": "f1391c3e6717ff4e2b869007fb9627c9edde52e4",
|
|
"source_bindings": {
|
|
"retroarch_release": "69a4f0ea1e8aaf442ae4858f2e7f2b31a1776576",
|
|
"ps5_payload_sdk": "d2e2e585740362976a39fdd5ccf390f199a7bc37",
|
|
"sdl": "0baf4ac49382b537ba449901b5b6d0d189bb1fbb",
|
|
"hardened_elfldr": "197623058f509eddde18868dafcb92fdcac66464",
|
|
"lifecycle_notification_source": "fe08300339a13f899fb78ea404ada381a5cba87c"
|
|
},
|
|
"authorizations": {
|
|
"ps5_connection_authorized": false,
|
|
"device_transfer_authorized": false,
|
|
"device_execution_authorized": false,
|
|
"result_receive_authorized": false,
|
|
"installation_authorized": false,
|
|
"autoload_authorized": false,
|
|
"device_write_authorized": false,
|
|
"automatic_retry": false
|
|
},
|
|
"phase_actions": {
|
|
"ps5_connected": false,
|
|
"device_request_performed": false,
|
|
"files_transferred": false,
|
|
"device_write_performed": false,
|
|
"target_execution_performed": false,
|
|
"result_received_from_device": false,
|
|
"installation_performed": false,
|
|
"autoload_performed": false
|
|
},
|
|
"prior_evidence": {
|
|
"run": "RUN_C",
|
|
"artifact_sha256": "1049c78099a60b472a3fb0e2999e3393b6ad76337a28532a7e53872e7772dedf",
|
|
"classification": "REMOTE_PAYLOAD_OUTPUT_PROVEN_INCOMPLETE_BEFORE_D03",
|
|
"last_proven_stage": "D02",
|
|
"d02_raw0": 0,
|
|
"authorization_consumed": true,
|
|
"authority_inherited": false
|
|
},
|
|
"artifact": {
|
|
"name": "retroarch_ps5_interval_diag.elf",
|
|
"profile": "interval-diag",
|
|
"local_relative_path": "build/phase10f/interval-a/retroarch_ps5_interval_diag.elf",
|
|
"linker_map_relative_path": "build/phase10f/interval-a/retroarch_ps5_interval_diag.map",
|
|
"size": 1845152,
|
|
"sha256": "e8bfc01c61bfb14b5814280a6e5442f1a5ad05ace5439d1c09e7e5ee00cd0055",
|
|
"clean_build_sha256": [
|
|
"e8bfc01c61bfb14b5814280a6e5442f1a5ad05ace5439d1c09e7e5ee00cd0055",
|
|
"e8bfc01c61bfb14b5814280a6e5442f1a5ad05ace5439d1c09e7e5ee00cd0055"
|
|
],
|
|
"linker_map_size": 637603,
|
|
"linker_map_sha256": "638642b750b8d5b108cf6c73215a3f1759bcb6da0b29ee0a0ade5c47e8b7b2d5",
|
|
"clean_map_sha256": [
|
|
"638642b750b8d5b108cf6c73215a3f1759bcb6da0b29ee0a0ade5c47e8b7b2d5",
|
|
"638642b750b8d5b108cf6c73215a3f1759bcb6da0b29ee0a0ade5c47e8b7b2d5"
|
|
],
|
|
"execution_eligible": false,
|
|
"transfer_eligible": false,
|
|
"installation_eligible": false,
|
|
"device_action_performed": false,
|
|
"tracked": false
|
|
},
|
|
"result_protocol": {
|
|
"magic": "CHD10F01",
|
|
"version": 1,
|
|
"frame_size": 64,
|
|
"byte_order": "BIG_ENDIAN",
|
|
"crc32_range": "0..59",
|
|
"reserved_zero_bytes": 20,
|
|
"d_stages": ["D00", "D01", "D02", "D03", "D04", "D05", "D06", "D07", "D08", "D09", "D10", "D11", "D12"],
|
|
"interval_stages": ["I00", "I01", "I02", "I03", "I04", "I05", "I06", "I07", "I08", "I09", "I10", "I11", "I12", "I13", "I14"],
|
|
"terminal_stages": ["D11", "D12"],
|
|
"interval_notification_calls": 0,
|
|
"interval_notification_result_sentinel": -2147483648,
|
|
"target_write_call": "send(STDOUT_FILENO, frame, 64, MSG_DONTWAIT | MSG_NOSIGNAL)",
|
|
"target_write_attempts_per_reached_stage": 1,
|
|
"target_write_retry": false,
|
|
"short_write_retry": false,
|
|
"new_target_imports_from_phase10e": [],
|
|
"forbidden_target_imports_absent": ["socket", "connect", "bind", "listen", "accept", "recv"]
|
|
},
|
|
"interval_callsites": [
|
|
{"stage": "I00", "source": "retroarch.c:6038", "function": "rarch_main", "address": "0x3c48"},
|
|
{"stage": "I01", "source": "tasks/task_content.c:1413", "function": "content_load", "address": "0x10370"},
|
|
{"stage": "I02", "source": "tasks/task_content.c:1437", "function": "content_load", "address": "0x103c1"},
|
|
{"stage": "I03", "source": "retroarch.c:7817", "function": "retroarch_main_init", "address": "0x3e11"},
|
|
{"stage": "I04", "source": "retroarch.c:7839", "function": "retroarch_main_init", "address": "0x48d3"},
|
|
{"stage": "I05", "source": "retroarch.c:7981", "function": "retroarch_main_init", "address": "0x4a45"},
|
|
{"stage": "I06", "source": "retroarch.c:7987", "function": "retroarch_main_init", "address": "0x4a75"},
|
|
{"stage": "I07", "source": "retroarch.c:7993", "function": "retroarch_main_init", "address": "0x4a9a"},
|
|
{"stage": "I08", "source": "retroarch.c:7999", "function": "retroarch_main_init", "address": "0x4abf"},
|
|
{"stage": "I09", "source": "retroarch.c:8005", "function": "retroarch_main_init", "address": "0x4ae1"},
|
|
{"stage": "I10", "source": "retroarch.c:8034", "function": "retroarch_main_init", "address": "0x4baa"},
|
|
{"stage": "I11", "source": "retroarch.c:8048", "function": "retroarch_main_init", "address": "0x4bf9", "raw0": "0_OR_NEGATIVE_ONE"},
|
|
{"stage": "I12", "source": "retroarch.c:8116", "function": "retroarch_main_init", "address": "0x4c78"},
|
|
{"stage": "I13", "source": "gfx/video_driver.c:3385", "function": "video_driver_init_internal", "address": "0x2061f"},
|
|
{"stage": "I14", "source": "gfx/drivers/sdl2_gfx.c:329", "function": "sdl2_gfx_init", "address": "0x3f696"}
|
|
],
|
|
"elf": {
|
|
"type": "ET_DYN",
|
|
"machine": "EM_X86_64",
|
|
"entrypoint": "0xff110",
|
|
"program_header_count": 4,
|
|
"load_segment_count": 3,
|
|
"rwx_load_segment_count": 0,
|
|
"program_headers": [
|
|
{"type": "LOAD", "flags": "RE", "offset": 16384, "vaddr": 0, "filesz": 1071486, "memsz": 1071486, "align": 16384},
|
|
{"type": "LOAD", "flags": "R", "offset": 1097728, "vaddr": 1081344, "filesz": 394360, "memsz": 394360, "align": 16384},
|
|
{"type": "LOAD", "flags": "RW", "offset": 1507328, "vaddr": 1490944, "filesz": 206124, "memsz": 903760, "align": 16384}
|
|
],
|
|
"bss_section_size": 697632,
|
|
"load_zero_fill_size": 697636,
|
|
"preinit_array_size": 0,
|
|
"init_array_size": 0,
|
|
"fini_array_size": 0,
|
|
"tls": false,
|
|
"relocations": {"total": 1055, "by_type": {"6": 142, "8": 913}},
|
|
"dt_needed": [
|
|
"libSceAudioOut.sprx", "libSceLibcInternal.sprx", "libScePad.sprx",
|
|
"libSceSystemService.sprx", "libSceUserService.sprx",
|
|
"libSceVideoOut.sprx", "libkernel_web.sprx"
|
|
],
|
|
"undefined_symbol_count": 142,
|
|
"undefined_symbols_match_phase10e": true,
|
|
"undefined_symbols": [
|
|
"_Exit", "__error", "__isthreaded", "__stderrp", "__stdoutp", "abort",
|
|
"atan2", "atof", "atoi", "calloc", "clock_gettime", "close", "closedir",
|
|
"cos", "cosf", "exit", "fclose", "ferror", "fflush", "fileno", "fopen",
|
|
"fprintf", "fputc", "fputs", "fread", "free", "fseek", "fseeko", "fstat",
|
|
"ftello", "fwrite", "getenv", "gettimeofday", "isgraph", "localtime",
|
|
"longjmp", "lseek", "malloc", "memcmp", "memcpy", "memmove", "memset",
|
|
"nanosleep", "open", "opendir", "powf", "pthread_attr_init",
|
|
"pthread_attr_setdetachstate", "pthread_attr_setstacksize", "pthread_create",
|
|
"pthread_getschedparam", "pthread_getspecific", "pthread_join",
|
|
"pthread_key_create", "pthread_key_delete", "pthread_mutex_destroy",
|
|
"pthread_mutex_init", "pthread_mutex_lock", "pthread_mutex_unlock",
|
|
"pthread_mutexattr_init", "pthread_mutexattr_settype", "pthread_self",
|
|
"pthread_set_name_np", "pthread_setcanceltype", "pthread_setschedparam",
|
|
"pthread_setspecific", "pthread_sigmask", "puts", "qsort", "read", "readdir",
|
|
"realloc", "sceAudioOutClose", "sceAudioOutInit", "sceAudioOutOpen",
|
|
"sceAudioOutOutput", "sceKernelAllocateMainDirectMemory",
|
|
"sceKernelCreateEqueue", "sceKernelDeleteEqueue", "sceKernelMapDirectMemory",
|
|
"sceKernelReleaseDirectMemory", "sceKernelSendNotificationRequest",
|
|
"sceKernelWaitEqueue", "scePadClose", "scePadInit", "scePadOpen",
|
|
"scePadReadState", "sceSystemServiceHideSplashScreen",
|
|
"sceUserServiceGetLoginUserIdList", "sceUserServiceGetUserName",
|
|
"sceUserServiceInitialize", "sceVideoOutAddFlipEvent", "sceVideoOutClose",
|
|
"sceVideoOutDeleteFlipEvent", "sceVideoOutOpen", "sceVideoOutRegisterBuffers2",
|
|
"sceVideoOutSetBufferAttribute2", "sceVideoOutSetFlipRate",
|
|
"sceVideoOutSubmitFlip", "sched_get_priority_max", "sched_get_priority_min",
|
|
"sem_destroy", "sem_init", "sem_post", "sem_timedwait", "sem_trywait",
|
|
"sem_wait", "send", "setjmp", "setvbuf", "sigaction", "sigaddset",
|
|
"sigemptyset", "signal", "sin", "sinf", "snprintf", "sprintf", "sscanf",
|
|
"stat", "strchr", "strcmp", "strdup", "strerror", "strftime", "strlcat",
|
|
"strlcpy", "strlen", "strncasecmp", "strncmp", "strrchr", "strstr",
|
|
"strtod", "strtok_r", "strtol", "strtoul", "strtoull", "time", "tolower",
|
|
"vfprintf", "vsnprintf", "vsscanf"
|
|
],
|
|
"forbidden_imports_absent": [
|
|
"socket", "connect", "bind", "listen", "accept", "recv", "recvfrom",
|
|
"sendto", "dlopen", "dlsym", "sceGnmSubmitCommandBuffers",
|
|
"sceGnmSubmitAndFlipCommandBuffers"
|
|
]
|
|
},
|
|
"static_reachability": {
|
|
"main": "0x3cc0",
|
|
"interval_checkpoint": "0x47ff0",
|
|
"interval_checkpoint_result": "0x48060",
|
|
"stream_emit": "0x47d90",
|
|
"send_relocation": "0x177888",
|
|
"_start": "0xff110",
|
|
"_start_patch_init_call": "0xff19e",
|
|
"patch_init": "0x105860",
|
|
"kernel_copyin": "0x101e00",
|
|
"kernel_copyout": "0x101fe0",
|
|
"kernel_set_ucred_caps": "0x1027e0",
|
|
"kernel_set_ucred_attrs": "0x1028c0",
|
|
"audit_a_disassembly_sha256": "821cba84114c75d8a8561436410a3081212724187f086ea5d18be814f6b6054a",
|
|
"normalized_disassembly_sha256": [
|
|
"32725415b86a8b3aafbd8b7fa2d089633a3cf90935b111e3c175bdd28dde242a",
|
|
"32725415b86a8b3aafbd8b7fa2d089633a3cf90935b111e3c175bdd28dde242a"
|
|
]
|
|
},
|
|
"loader_transport": {
|
|
"classification": "SOURCE_BOUND_LEGACY_RAW_ELF_INHERITED_STDIO_DUPLEX",
|
|
"raw_elf_exact_length_read": true,
|
|
"payload_stdout_inherits_connection": true,
|
|
"controlled_route_supported": false,
|
|
"new_loader_change": false,
|
|
"new_target_socket": false,
|
|
"new_target_connection": false,
|
|
"target_address_embedded": false
|
|
},
|
|
"startup_effects": {
|
|
"normal_sdk_crt": true,
|
|
"patch_init_reachable_from_start": true,
|
|
"kernel_copy_helpers_statically_linked": true,
|
|
"credential_capability_changes": "TEMPORARY_SOURCE_BOUND_EXISTING_CRT_EFFECT",
|
|
"syscall_range_change": "TEMPORARY_SOURCE_BOUND_EXISTING_CRT_EFFECT",
|
|
"new_effect_from_phase10f": "ONE_NONBLOCKING_SEND_ATTEMPT_PER_REACHED_INTERVAL_STAGE",
|
|
"interval_notification_effect": "NONE",
|
|
"side_effect_free": false
|
|
},
|
|
"host_parser": {
|
|
"offline_interval_parser_available": true,
|
|
"live_cli_defaults_to_consumed_phase10e_protocol": true,
|
|
"live_interval_activation_available": false,
|
|
"manifest_must_be_execution_eligible": true,
|
|
"authorization_must_be_active_and_exact": true,
|
|
"retry": false,
|
|
"reconnect": false,
|
|
"resume": false,
|
|
"trace_overwrite": false
|
|
},
|
|
"tests": {
|
|
"warnings_as_errors_cross_build": "PASS",
|
|
"target_interval_host_asan_ubsan": "PASS",
|
|
"negative_stage_host_asan_ubsan": "PASS",
|
|
"phase10d_python_cases": 8,
|
|
"phase10d_python": "PASS",
|
|
"phase10e_f_python_cases": 14,
|
|
"phase10e_f_python": "PASS",
|
|
"phase10f_policy_cases": 24,
|
|
"phase10f_policy": "PASS",
|
|
"full_retroarch_ps5_host_suite": "PASS",
|
|
"structural_validator": "PASS",
|
|
"double_clean_build": "PASS_BYTE_IDENTICAL",
|
|
"dual_static_audit_semantics": "PASS_IDENTICAL",
|
|
"hardware_evidence_from_phase10f": false
|
|
},
|
|
"hard_stops": [
|
|
"NO_PS5_CONNECTION_OR_REQUEST",
|
|
"NO_TRANSFER_OR_EXECUTION",
|
|
"NO_RESULT_RECEPTION",
|
|
"NO_INSTALLATION_OR_AUTOLOAD",
|
|
"NO_DEVICE_WRITE",
|
|
"NO_RETRY_OR_RECONNECT",
|
|
"NEW_EXACT_ARTIFACT_PERMISSION_REQUIRED"
|
|
]
|
|
}
|