diff --git a/src/coreclr/src/ToolBox/SOS/Strike/disasmARM.cpp b/src/coreclr/src/ToolBox/SOS/Strike/disasmARM.cpp index a82d4b9b652b3..fc51e8c8a6c4e 100644 --- a/src/coreclr/src/ToolBox/SOS/Strike/disasmARM.cpp +++ b/src/coreclr/src/ToolBox/SOS/Strike/disasmARM.cpp @@ -250,7 +250,6 @@ void ARMMachine::IsReturnAddress(TADDR retAddr, TADDR* whereCalled) const } } -#ifndef FEATURE_PAL // Return 0 for non-managed call. Otherwise return MD address. static TADDR MDForCall (TADDR callee) @@ -272,8 +271,14 @@ static TADDR MDForCall (TADDR callee) // Determine if a value is MT/MD/Obj static void HandleValue(TADDR value) { +#ifndef FEATURE_PAL // remove the thumb bit (if set) value = value & ~1; +#else + // set the thumb bit (if not set) + value = value | 1; +#endif //!FEATURE_PAL + // A MethodTable? if (IsMethodTable(value)) { @@ -336,8 +341,6 @@ static void HandleValue(TADDR value) } } -#endif // !FEATURE_PAL - /**********************************************************************\ * Routine Description: * * * @@ -355,7 +358,6 @@ void ARMMachine::Unassembly ( BOOL bSuppressLines, BOOL bDisplayOffsets) const { -#ifndef FEATURE_PAL ULONG_PTR PC = PCBegin; char line[1024]; char *ptr; @@ -383,6 +385,7 @@ void ARMMachine::Unassembly ( } } +#ifndef FEATURE_PAL // // Print out any GC information corresponding to the current instruction offset. // @@ -397,7 +400,7 @@ void ARMMachine::Unassembly ( SwitchToFiber(pGCEncodingInfo->pvGCTableFiber); } } - +#endif //!FEATURE_PAL // // Print out any EH info corresponding to the current offset // @@ -529,7 +532,6 @@ void ARMMachine::Unassembly ( ExtOut ("\n"); } -#endif // !FEATURE_PAL } #if 0 // @ARMTODO: Figure out how to extract this information under CoreARM