Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Rylek <trylek@microsoft.com>2017-09-18 22:16:12 +0300
committerTomas Rylek <trylek@microsoft.com>2017-09-18 22:16:12 +0300
commit1847508ddfaa0c89a21f3d5be26bcafb71c3ba6a (patch)
treee3500ea1d79da5e0d891fc89e2e1f199ac4e9f6d /src/Native
parent5548fabcc371bc90ef4e55c450fd9dbd9530da44 (diff)
Jan Vorlicek's fix for ARM build break
This change, produced by JanV, fixes the official ProjectN build break on ARM caused by GIT integration CS# 1674402. I have locally verified that the change indeed fixes the build break and I ran a small private ToF run on ARM to validate basic runtime functionality. Thanks Tomas [tfs-changeset: 1674685]
Diffstat (limited to 'src/Native')
-rw-r--r--src/Native/Runtime/inc/rhbinder.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/Native/Runtime/inc/rhbinder.h b/src/Native/Runtime/inc/rhbinder.h
index 49e39f6a7..060ee515b 100644
--- a/src/Native/Runtime/inc/rhbinder.h
+++ b/src/Native/Runtime/inc/rhbinder.h
@@ -632,17 +632,23 @@ enum PInvokeTransitionFrameFlags
#pragma warning(disable:4200) // nonstandard extension used: zero-sized array in struct/union
class Thread;
#ifdef USE_PORTABLE_HELPERS
-//the members of this structure are currently unused except m_pThread and exist only to allow compilation
-//of StackFrameIterator their values are not currently being filled in and will require significant rework
+//the members of this structure are currently unused except m_pThread and exist only to allow compilation
+//of StackFrameIterator their values are not currently being filled in and will require significant rework
//in order to satisfy the runtime requirements of StackFrameIterator
struct PInvokeTransitionFrame
{
+#ifdef _TARGET_ARM_
+ void* m_ChainPointer; // R11, used by OS to walk stack quickly 
+#endif
void* m_RIP;
void* m_FramePointer;
Thread* m_pThread; // unused by stack crawler, this is so GetThread is only called once per method
// can be an invalid pointer in universal transition cases (which never need to call GetThread)
uint32_t m_dwFlags; // PInvokeTransitionFrameFlags
- uint64_t m_PreservedRegs[];
+#ifdef _TARGET_AMD64_
+ UInt32 m_dwAlignPad2;
+#endif
+ size_t m_PreservedRegs[];
};
#else
struct PInvokeTransitionFrame