From fbcd8e32b8e97bede9745c8b2d4f91487b6bfed3 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Sun, 18 Aug 2024 15:09:10 +0300 Subject: [PATCH] Cleanup --- rpcs3/Emu/CPU/Backends/AArch64/AArch64JIT.cpp | 3 +++ rpcs3/Emu/Cell/PPUTranslator.cpp | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/CPU/Backends/AArch64/AArch64JIT.cpp b/rpcs3/Emu/CPU/Backends/AArch64/AArch64JIT.cpp index 6235aa4ea4..0b5d181327 100644 --- a/rpcs3/Emu/CPU/Backends/AArch64/AArch64JIT.cpp +++ b/rpcs3/Emu/CPU/Backends/AArch64/AArch64JIT.cpp @@ -391,6 +391,9 @@ namespace aarch64 const auto this_name = f.getName().str(); // Insert breadcrumb info before the call + // WARNING: This can corrupt the call because LLVM somehow ignores the clobbered register during a call instruction for some reason + // In case of a blr on x27..x29 you can end up corrupting the binary, but it is invaluable for debugging. + // Debug frames are disabled in shipping code so this is not a big deal. if (m_config.debug_info) { // Call-chain tracing diff --git a/rpcs3/Emu/Cell/PPUTranslator.cpp b/rpcs3/Emu/Cell/PPUTranslator.cpp index 04c91d9be0..03c6f41127 100644 --- a/rpcs3/Emu/Cell/PPUTranslator.cpp +++ b/rpcs3/Emu/Cell/PPUTranslator.cpp @@ -48,7 +48,7 @@ PPUTranslator::PPUTranslator(LLVMContext& context, Module* _module, const ppu_mo aarch64::GHC_frame_preservation_pass::config_t config = { - .debug_info = true, // Set to "true" to insert debug frames on x27 + .debug_info = false, // Set to "true" to insert debug frames on x27 .use_stack_frames = false, // We don't need this since the PPU GW allocates global scratch on the stack .hypervisor_context_offset = ::offset32(&ppu_thread::hv_ctx), .exclusion_callback = {}, // Unused, we don't have special exclusion functions on PPU