Skip to content

Commit 4de63e6

Browse files
committed
Cross dbi (#1036)
* Fix dotnet-dump analyze regression * Fix CLRDebuggingImpl::GetCLRInfo() * Fix CLRDebuggingImpl::GetPlatform() * Fix FEATURE_PAL builds
1 parent b0d27af commit 4de63e6

File tree

5 files changed

+200
-180
lines changed

5 files changed

+200
-180
lines changed

src/SOS/Strike/cordebugdatatarget.h

+25-20
Original file line numberDiff line numberDiff line change
@@ -74,27 +74,32 @@ class CorDebugDataTarget : public ICorDebugMutableDataTarget, public ICorDebugMe
7474
virtual HRESULT STDMETHODCALLTYPE GetPlatform(CorDebugPlatform * pPlatform)
7575
{
7676
ULONG platformKind = g_targetMachine->GetPlatform();
77-
#ifdef FEATURE_PAL
78-
if(platformKind == IMAGE_FILE_MACHINE_I386)
79-
*pPlatform = CORDB_PLATFORM_POSIX_X86;
80-
else if(platformKind == IMAGE_FILE_MACHINE_AMD64)
81-
*pPlatform = CORDB_PLATFORM_POSIX_AMD64;
82-
else if(platformKind == IMAGE_FILE_MACHINE_ARMNT)
83-
*pPlatform = CORDB_PLATFORM_POSIX_ARM;
84-
else
85-
return E_FAIL;
86-
#else
87-
if(platformKind == IMAGE_FILE_MACHINE_I386)
88-
*pPlatform = CORDB_PLATFORM_WINDOWS_X86;
89-
else if(platformKind == IMAGE_FILE_MACHINE_AMD64)
90-
*pPlatform = CORDB_PLATFORM_WINDOWS_AMD64;
91-
else if(platformKind == IMAGE_FILE_MACHINE_ARMNT)
92-
*pPlatform = CORDB_PLATFORM_WINDOWS_ARM;
93-
else if(platformKind == IMAGE_FILE_MACHINE_ARM64)
94-
*pPlatform = CORDB_PLATFORM_WINDOWS_ARM64;
77+
if (IsWindowsTarget())
78+
{
79+
if (platformKind == IMAGE_FILE_MACHINE_I386)
80+
*pPlatform = CORDB_PLATFORM_WINDOWS_X86;
81+
else if (platformKind == IMAGE_FILE_MACHINE_AMD64)
82+
*pPlatform = CORDB_PLATFORM_WINDOWS_AMD64;
83+
else if (platformKind == IMAGE_FILE_MACHINE_ARMNT)
84+
*pPlatform = CORDB_PLATFORM_WINDOWS_ARM;
85+
else if (platformKind == IMAGE_FILE_MACHINE_ARM64)
86+
*pPlatform = CORDB_PLATFORM_WINDOWS_ARM64;
87+
else
88+
return E_FAIL;
89+
}
9590
else
96-
return E_FAIL;
97-
#endif
91+
{
92+
if (platformKind == IMAGE_FILE_MACHINE_I386)
93+
*pPlatform = CORDB_PLATFORM_POSIX_X86;
94+
else if (platformKind == IMAGE_FILE_MACHINE_AMD64)
95+
*pPlatform = CORDB_PLATFORM_POSIX_AMD64;
96+
else if (platformKind == IMAGE_FILE_MACHINE_ARMNT)
97+
*pPlatform = CORDB_PLATFORM_POSIX_ARM;
98+
else if (platformKind == IMAGE_FILE_MACHINE_ARM64)
99+
*pPlatform = CORDB_PLATFORM_POSIX_ARM64;
100+
else
101+
return E_FAIL;
102+
}
98103

99104
return S_OK;
100105
}

src/SOS/Strike/runtime.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,7 @@ HRESULT Runtime::GetCorDebugInterface(ICorDebugProcess** ppCorDebugProcess)
477477
skuId = CLR_ID_V4_DESKTOP;
478478
}
479479
#endif
480-
CLRDebuggingImpl* pDebuggingImpl = new CLRDebuggingImpl(skuId);
480+
CLRDebuggingImpl* pDebuggingImpl = new CLRDebuggingImpl(skuId, IsWindowsTarget());
481481
hr = pDebuggingImpl->QueryInterface(IID_ICLRDebugging, (LPVOID *)&pClrDebugging);
482482
if (FAILED(hr))
483483
{

0 commit comments

Comments
 (0)