From c5c8647de756ef45337a7ed784af2d14bad6c45c Mon Sep 17 00:00:00 2001 From: Coxxs <58-coxxs@users.noreply.git.ryujinx.app> Date: Mon, 23 Jun 2025 07:03:40 +0800 Subject: [PATCH] gdb: Invalidate PTC cache when GDB Stub is enabled/disabled --- src/ARMeilleure/Translation/PTC/Ptc.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/ARMeilleure/Translation/PTC/Ptc.cs b/src/ARMeilleure/Translation/PTC/Ptc.cs index f36d4256d..c69ebcadb 100644 --- a/src/ARMeilleure/Translation/PTC/Ptc.cs +++ b/src/ARMeilleure/Translation/PTC/Ptc.cs @@ -33,7 +33,7 @@ namespace ARMeilleure.Translation.PTC private const string OuterHeaderMagicString = "PTCohd\0\0"; private const string InnerHeaderMagicString = "PTCihd\0\0"; - private const uint InternalVersion = 7008; //! To be incremented manually for each change to the ARMeilleure project. + private const uint InternalVersion = 7009; //! To be incremented manually for each change to the ARMeilleure project. private const string ActualDir = "0"; private const string BackupDir = "1"; @@ -303,6 +303,13 @@ namespace ARMeilleure.Translation.PTC return false; } + if (outerHeader.DebuggerMode != Optimizations.EnableDebugging) + { + InvalidateCompressedStream(compressedStream); + + return false; + } + nint intPtr = nint.Zero; try @@ -479,6 +486,7 @@ namespace ARMeilleure.Translation.PTC MemoryManagerMode = GetMemoryManagerMode(), OSPlatform = GetOSPlatform(), Architecture = (uint)RuntimeInformation.ProcessArchitecture, + DebuggerMode = Optimizations.EnableDebugging, UncompressedStreamSize = (long)Unsafe.SizeOf() + @@ -1068,7 +1076,7 @@ namespace ARMeilleure.Translation.PTC return osPlatform; } - [StructLayout(LayoutKind.Sequential, Pack = 1/*, Size = 86*/)] + [StructLayout(LayoutKind.Sequential, Pack = 1/*, Size = 87*/)] private struct OuterHeader { public ulong Magic; @@ -1080,6 +1088,7 @@ namespace ARMeilleure.Translation.PTC public byte MemoryManagerMode; public uint OSPlatform; public uint Architecture; + public bool DebuggerMode; public long UncompressedStreamSize;