summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Zemtsov <Eugene.Zemtsov@microsoft.com>2015-06-26 19:12:19 -0700
committerEugene Zemtsov <Eugene.Zemtsov@microsoft.com>2015-06-26 19:12:19 -0700
commit4704616110fb8090da4e746921843fd020f272e0 (patch)
treeccd75bc1e655532b7e720b6366d79e1c71298df3
parent8c70800b5e8dc5535c379dec4a6fb32f7ab5e878 (diff)
downloadcoreclr-4704616110fb8090da4e746921843fd020f272e0.tar.gz
coreclr-4704616110fb8090da4e746921843fd020f272e0.tar.bz2
coreclr-4704616110fb8090da4e746921843fd020f272e0.zip
Make 64bit dump debugging possible on CoreCLR
[tfs-changeset: 1494731]
-rw-r--r--src/debug/shim/debugshim.cpp23
-rw-r--r--src/dlls/dbgshim/dbgshim.cpp4
2 files changed, 17 insertions, 10 deletions
diff --git a/src/debug/shim/debugshim.cpp b/src/debug/shim/debugshim.cpp
index fe3755dd72..d8dab31668 100644
--- a/src/debug/shim/debugshim.cpp
+++ b/src/debug/shim/debugshim.cpp
@@ -364,20 +364,27 @@ HRESULT CLRDebuggingImpl::GetCLRInfo(ICorDebugDataTarget* pDataTarget,
// the initial state is that we haven't found a proper resource
HRESULT hrGetResource = E_FAIL;
- // First check for the resource which has type = RC_DATA = 10, name = "CLRDEBUGINFO<host_os><host_arch>", language = 0
- // So far we only support windows x86 and coresys x86 (we are building some other architectures, but they aren't tested and turned on yet it appears)
+ // First check for the resource which has type = RC_DATA = 10, name = "CLRDEBUGINFO<host_os><host_arch>", language = 0
#if defined (HOST_IS_WINDOWS_OS) && defined(_HOST_X86_)
- hrGetResource = GetResourceRvaFromResourceSectionRvaByName(pDataTarget, moduleBaseAddress, resourceSectionRVA, 10, W("CLRDEBUGINFOWINDOWSX86"), 0,
- &debugResourceRVA, &debugResourceSize);
- useCrossPlatformNaming = SUCCEEDED(hrGetResource);
+ const WCHAR * resourceName = W("CLRDEBUGINFOWINDOWSX86");
#endif
#if !defined (HOST_IS_WINDOWS_OS) && defined(_HOST_X86_)
- hrGetResource = GetResourceRvaFromResourceSectionRvaByName(pDataTarget, moduleBaseAddress, resourceSectionRVA, 10, W("CLRDEBUGINFOCORESYSX86"), 0,
- &debugResourceRVA, &debugResourceSize);
- useCrossPlatformNaming = SUCCEEDED(hrGetResource);
+ const WCHAR * resourceName = W("CLRDEBUGINFOCORESYSX86");
+#endif
+
+#if defined (HOST_IS_WINDOWS_OS) && defined(_HOST_AMD64_)
+ const WCHAR * resourceName = W("CLRDEBUGINFOWINDOWSAMD64");
#endif
+#if !defined (HOST_IS_WINDOWS_OS) && defined(_HOST_AMD64_)
+ const WCHAR * resourceName = W("CLRDEBUGINFOCORESYSAMD64");
+#endif
+
+ hrGetResource = GetResourceRvaFromResourceSectionRvaByName(pDataTarget, moduleBaseAddress, resourceSectionRVA, 10, resourceName, 0,
+ &debugResourceRVA, &debugResourceSize);
+ useCrossPlatformNaming = SUCCEEDED(hrGetResource);
+
#if defined(HOST_IS_WINDOWS_OS) && (defined(_HOST_X86_) || defined(_HOST_AMD64_) || defined(_HOST_ARM_))
#if defined(_HOST_X86_)
diff --git a/src/dlls/dbgshim/dbgshim.cpp b/src/dlls/dbgshim/dbgshim.cpp
index 3b7afce04c..c4930dafd5 100644
--- a/src/dlls/dbgshim/dbgshim.cpp
+++ b/src/dlls/dbgshim/dbgshim.cpp
@@ -1126,13 +1126,13 @@ HRESULT GetContinueStartupEvent(DWORD debuggeePID,
#endif // !FEATURE_PAL
-#if defined(FEATURE_CORESYSTEM) && defined(_TARGET_X86_)
+#if defined(FEATURE_CORESYSTEM)
#include "debugshim.h"
#endif
HRESULT CLRCreateInstance(REFCLSID clsid, REFIID riid, LPVOID *ppInterface)
{
-#if defined(FEATURE_CORESYSTEM) && defined(_TARGET_X86_)
+#if defined(FEATURE_CORESYSTEM)
if (ppInterface == NULL)
return E_POINTER;