Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions src/coreclr/debug/daccess/dacdbiimpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7327,6 +7327,48 @@ HRESULT STDMETHODCALLTYPE DacDbiInterfaceImpl::GetGenericArgTokenIndex(VMPTR_Met
return S_OK;
}

HRESULT STDMETHODCALLTYPE DacDbiInterfaceImpl::GetTargetInfo(OUT TargetInfo * pTargetInfo)
Comment thread
rcj1 marked this conversation as resolved.
{
DD_ENTER_MAY_THROW;

if (pTargetInfo == NULL)
return E_INVALIDARG;

#if defined(TARGET_X86)
pTargetInfo->arch = kArchX86;
#elif defined(TARGET_AMD64)
pTargetInfo->arch = kArchAMD64;
#elif defined(TARGET_ARM)
pTargetInfo->arch = kArchArm;
#elif defined(TARGET_ARM64)
pTargetInfo->arch = kArchArm64;
#elif defined(TARGET_LOONGARCH64)
pTargetInfo->arch = kArchLoongArch64;
#elif defined(TARGET_RISCV64)
pTargetInfo->arch = kArchRiscV64;
#elif defined(TARGET_WASM)
pTargetInfo->arch = kArchWasm;
#else
pTargetInfo->arch = kArchUnknown;
#endif

#if defined(TARGET_UNIX)
pTargetInfo->os = kOSUnix;
#elif defined(TARGET_WINDOWS)
pTargetInfo->os = kOSWindows;
#else
pTargetInfo->os = kOSUnknown;
#endif

#if defined(TARGET_64BIT)
pTargetInfo->pointerSize = 8;
#else
pTargetInfo->pointerSize = 4;
#endif

return S_OK;
}
Comment thread
max-charlamb marked this conversation as resolved.

DacRefWalker::DacRefWalker(ClrDataAccess *dac, BOOL walkStacks, UINT32 handleMask, BOOL resolvePointers)
: mDac(dac), mWalkStacks(walkStacks), mHandleMask(handleMask), mStackWalker(NULL),
mResolvePointers(resolvePointers), mHandleWalker(NULL)
Expand Down
2 changes: 2 additions & 0 deletions src/coreclr/debug/daccess/dacdbiimpl.h
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,8 @@ class DacDbiInterfaceImpl :
HRESULT STDMETHODCALLTYPE EnumerateAsyncLocals(VMPTR_MethodDesc vmMethod, CORDB_ADDRESS codeAddr, UINT32 state, FP_ASYNC_LOCAL_CALLBACK fpCallback, CALLBACK_DATA pUserData);
HRESULT STDMETHODCALLTYPE GetGenericArgTokenIndex(VMPTR_MethodDesc vmMethod, OUT UINT32* pIndex);

HRESULT STDMETHODCALLTYPE GetTargetInfo(OUT TargetInfo * pTargetInfo);

private:
void TypeHandleToExpandedTypeInfoImpl(AreValueTypesBoxed boxed,
TypeHandle typeHandle,
Expand Down
11 changes: 2 additions & 9 deletions src/coreclr/debug/di/cordb.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,6 @@
#include "dbgtransportmanager.h"
#endif // FEATURE_DBGIPC_TRANSPORT_DI

#if defined(TARGET_UNIX) || defined(__ANDROID__)
// Local (in-process) debugging is not supported for UNIX and Android.
#define SUPPORT_LOCAL_DEBUGGING 0
#else
#define SUPPORT_LOCAL_DEBUGGING 1
#endif

//-----------------------------------------------------------------------------
// SxS Versioning story for Mscordbi (ICorDebug + friends)
//-----------------------------------------------------------------------------
Expand Down Expand Up @@ -437,7 +430,7 @@ DbiGetThreadContext(HANDLE hThread,
DT_CONTEXT *lpContext)
{
// if we aren't local debugging this isn't going to work
#if !defined(HOST_ARM) || defined(FEATURE_DBGIPC_TRANSPORT_DI) || !SUPPORT_LOCAL_DEBUGGING
#if !defined(HOST_ARM) || defined(FEATURE_DBGIPC_TRANSPORT_DI) || defined(__ANDROID__)
_ASSERTE(!"Can't use local GetThreadContext remotely, this needed to go to datatarget");
return FALSE;
Comment on lines 432 to 435
#else
Expand Down Expand Up @@ -476,7 +469,7 @@ BOOL
DbiSetThreadContext(HANDLE hThread,
const DT_CONTEXT *lpContext)
{
#if !defined(HOST_ARM) || defined(FEATURE_DBGIPC_TRANSPORT_DI) || !SUPPORT_LOCAL_DEBUGGING
#if !defined(HOST_ARM) || defined(FEATURE_DBGIPC_TRANSPORT_DI) || defined(__ANDROID__)
_ASSERTE(!"Can't use local GetThreadContext remotely, this needed to go to datatarget");
return FALSE;
Comment thread
rcj1 marked this conversation as resolved.
#else
Expand Down
4 changes: 2 additions & 2 deletions src/coreclr/debug/di/module.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -883,7 +883,7 @@ HRESULT CordbModule::InitPublicMetaDataFromFile(const WCHAR * pszFullPathName,
}

return hr;
#endif // TARGET_UNIX
#endif // HOST_UNIX
}

//---------------------------------------------------------------------------------------
Expand Down Expand Up @@ -2412,7 +2412,7 @@ HRESULT CordbModule::CreateReaderForInMemorySymbols(REFIID riid, void** ppObj)
ReleaseHolder<ISymUnmanagedBinder> pBinder;
if (symFormat == IDacDbiInterface::kSymbolFormatPDB)
{
#ifndef TARGET_UNIX
#ifndef HOST_UNIX
// PDB format - use diasymreader.dll with COM activation
InlineSString<MAX_PATH> ssBuf;
IfFailThrow(GetClrModuleDirectory(ssBuf));
Expand Down
Loading