diff --git a/src/native/managed/cdac/tests/DumpTests/DumpTestBase.cs b/src/native/managed/cdac/tests/DumpTests/DumpTestBase.cs index 0da34a20d74821..f1c826f951743f 100644 --- a/src/native/managed/cdac/tests/DumpTests/DumpTestBase.cs +++ b/src/native/managed/cdac/tests/DumpTests/DumpTestBase.cs @@ -142,6 +142,18 @@ private void EvaluateSkipAttributes(TestConfiguration config, string callerName, if (_dumpInfo is not null) { + // Cross-bitness dump reading is not yet supported when a 32-bit host + // tries to read a 64-bit dump (see microsoft/clrmd#1423). + // The reverse (64-bit host reading 32-bit dump) works fine. + bool isDump64Bit = _dumpInfo.Arch is "x64" or "arm64" or "riscv64" or "loongarch64"; + bool isHost64Bit = IntPtr.Size == 8; + if (isDump64Bit && !isHost64Bit) + { + throw new SkipTestException( + $"32-bit host cannot read 64-bit dumps: dump is {_dumpInfo.Arch}. " + + $"See microsoft/clrmd#1423."); + } + foreach (SkipOnOSAttribute attr in method.GetCustomAttributes()) { if (attr.IncludeOnly is not null)