summaryrefslogtreecommitdiff
path: root/src/unwinder
diff options
context:
space:
mode:
authorRama Krishnan Raghupathy <ramarag@microsoft.com>2016-03-30 20:00:57 -0700
committerRama Krishnan Raghupathy <ramarag@microsoft.com>2016-03-30 20:00:57 -0700
commit6a2e3b34c3c9ac32456d38567b9f44ab6aea2f63 (patch)
treeb044645e19e8ea90373d9259cb9c3706ae632c9c /src/unwinder
parenta62cb372fb7edf1cf7d7b783bfa653f58dc68a7a (diff)
downloadcoreclr-6a2e3b34c3c9ac32456d38567b9f44ab6aea2f63.tar.gz
coreclr-6a2e3b34c3c9ac32456d38567b9f44ab6aea2f63.tar.bz2
coreclr-6a2e3b34c3c9ac32456d38567b9f44ab6aea2f63.zip
Getting SOS to work on ARm64:
This mainly involved DACizing the VM code. A bulk edit for changing RUNTIME_FUNCTION to T_RUNTIME_FUNCTION [tfs-changeset: 1591667]
Diffstat (limited to 'src/unwinder')
-rw-r--r--src/unwinder/amd64/unwinder_amd64.cpp4
-rw-r--r--src/unwinder/arm/unwinder_arm.cpp2
-rw-r--r--src/unwinder/arm64/unwinder_arm64.cpp8
-rw-r--r--src/unwinder/unwinder.cpp2
4 files changed, 8 insertions, 8 deletions
diff --git a/src/unwinder/amd64/unwinder_amd64.cpp b/src/unwinder/amd64/unwinder_amd64.cpp
index 583a11f2dc..b3dd1ab1ac 100644
--- a/src/unwinder/amd64/unwinder_amd64.cpp
+++ b/src/unwinder/amd64/unwinder_amd64.cpp
@@ -170,7 +170,7 @@ UNWIND_INFO * DacGetUnwindInfo(TADDR taUnwindInfo)
{
cbUnwindInfo += sizeof(UNWIND_CODE);
}
- cbUnwindInfo += sizeof(RUNTIME_FUNCTION);
+ cbUnwindInfo += sizeof(T_RUNTIME_FUNCTION);
}
return reinterpret_cast<UNWIND_INFO *>(DacInstantiateTypeByAddress(taUnwindInfo, cbUnwindInfo, true));
}
@@ -325,7 +325,7 @@ PEXCEPTION_ROUTINE RtlVirtualUnwind_Unsafe(
__in ULONG HandlerType,
__in ULONG64 ImageBase,
__in ULONG64 ControlPc,
- __in PRUNTIME_FUNCTION FunctionEntry,
+ __in PT_RUNTIME_FUNCTION FunctionEntry,
__in OUT PCONTEXT ContextRecord,
__out PVOID *HandlerData,
__out PULONG64 EstablisherFrame,
diff --git a/src/unwinder/arm/unwinder_arm.cpp b/src/unwinder/arm/unwinder_arm.cpp
index af595b9bb9..6b1f6864cc 100644
--- a/src/unwinder/arm/unwinder_arm.cpp
+++ b/src/unwinder/arm/unwinder_arm.cpp
@@ -1501,7 +1501,7 @@ PEXCEPTION_ROUTINE RtlVirtualUnwind(
__in ULONG HandlerType,
__in ULONG ImageBase,
__in ULONG ControlPc,
- __in PRUNTIME_FUNCTION FunctionEntry,
+ __in PT_RUNTIME_FUNCTION FunctionEntry,
__in OUT PCONTEXT ContextRecord,
__out PVOID *HandlerData,
__out PULONG EstablisherFrame,
diff --git a/src/unwinder/arm64/unwinder_arm64.cpp b/src/unwinder/arm64/unwinder_arm64.cpp
index fb2f9340af..e13c7b917d 100644
--- a/src/unwinder/arm64/unwinder_arm64.cpp
+++ b/src/unwinder/arm64/unwinder_arm64.cpp
@@ -103,9 +103,9 @@ typedef struct _ARM64_VFP_STATE
// Macros for accessing memory. These can be overridden if other code
// (in particular the debugger) needs to use them.
-#define MEMORY_READ_BYTE(params, addr) (*(const BYTE *)(addr))
-#define MEMORY_READ_DWORD(params, addr) (*(const DWORD *)(addr))
-#define MEMORY_READ_QWORD(params, addr) (*(const UINT64 *)(addr))
+#define MEMORY_READ_BYTE(params, addr) (*dac_cast<PTR_BYTE>(addr))
+#define MEMORY_READ_DWORD(params, addr) (*dac_cast<PTR_DWORD>(addr))
+#define MEMORY_READ_QWORD(params, addr) (*dac_cast<PTR_UINT64>(addr))
typedef struct _ARM64_UNWIND_PARAMS
{
@@ -1597,7 +1597,7 @@ RtlVirtualUnwind(
IN ULONG HandlerType,
IN ULONG64 ImageBase,
IN ULONG64 ControlPc,
- IN PRUNTIME_FUNCTION FunctionEntry,
+ IN PT_RUNTIME_FUNCTION FunctionEntry,
IN OUT PCONTEXT ContextRecord,
OUT PVOID *HandlerData,
OUT PULONG64 EstablisherFrame,
diff --git a/src/unwinder/unwinder.cpp b/src/unwinder/unwinder.cpp
index 7b14b80798..5ab3048905 100644
--- a/src/unwinder/unwinder.cpp
+++ b/src/unwinder/unwinder.cpp
@@ -51,7 +51,7 @@ HRESULT OOPStackUnwinder::GetFunctionEntry( DWORD64 addres
__out_ecount(cbBuffer) PVOID pBuffer,
DWORD cbBuffer)
{
- if (cbBuffer < sizeof(RUNTIME_FUNCTION))
+ if (cbBuffer < sizeof(T_RUNTIME_FUNCTION))
{
return E_INVALIDARG;
}