Files
PS5_RetroArch/tooling
MihawkandClaude Opus 5.5 64864a02ba Large frontend buffers take direct memory first; Dolphin profiles
RetroArch reads a save state whole, and loading Resident Evil 4's 260 MB
entry state while Dolphin booted left the JIT 45 MB of the 56 MB of
flexible memory it maps; the core then wrote its code through a null
pointer. Large frontend allocations now take direct memory first and
anonymous (flexible) mappings only when it refuses, which keeps flexible
memory for executable code and thread stacks. The Dolphin allocator
reports the flexible memory free when an executable mapping fails.

tooling/dolphin-profiles holds the acceptance profiles as core-option
files. PHASE_LOG records Profile 0 on the three games.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 02:09:00 -04:00
..

Native host tooling

All repository-owned format tooling is C or C++. Make/Bash and PowerShell are thin platform-specific orchestrators. No C# or .NET runtime is required.

The root build performs four native stages:

  1. prospero-clang18 compiles application sources and native/app_crt.cpp.
  2. LLVM lld resolves objects, static archives, public SDK import stubs, constructors, TLS, and unwind information into an intermediate PIE.
  3. native/ps5-native-tool converts that PIE to the PS5 ELF layout and wraps it in a deterministic development FSELF.
  4. The requested folder or optional filesystem image is assembled.

native/libc_builder.cpp independently reproduces the generated clean-room runtime from the two manifests under native/runtime/. Run make libc on Linux/WSL or ../tools/rebuild-libc.ps1 on Windows to prove both hashes.

make deps fetches the pinned public payload SDK and static zlib archive into .deps/native/; neither is installed globally. The shell and PowerShell bootstrappers share the same cache layout.

See ../docs/NATIVE_TOOLING.md for the format boundary and low-level commands.