summaryrefslogtreecommitdiff
path: root/src/vm
diff options
context:
space:
mode:
authorJonghyun Park <parjong@gmail.com>2017-04-27 23:50:39 +0900
committerJan Vorlicek <janvorli@microsoft.com>2017-04-27 07:50:39 -0700
commit5c8a5a3d53f75b05fee15925e7a99843008765c9 (patch)
tree0f3d1d2989a9af5230ae0a244345960c55bcbd9f /src/vm
parent9a9f941d154b62eb66fd092e72c4ae0200facc42 (diff)
downloadcoreclr-5c8a5a3d53f75b05fee15925e7a99843008765c9.tar.gz
coreclr-5c8a5a3d53f75b05fee15925e7a99843008765c9.tar.bz2
coreclr-5c8a5a3d53f75b05fee15925e7a99843008765c9.zip
[x86/Linux] Disable USE_CALLER_SP_IN_FUNCLET in EH (#11247)
Diffstat (limited to 'src/vm')
-rw-r--r--src/vm/exceptionhandling.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/vm/exceptionhandling.cpp b/src/vm/exceptionhandling.cpp
index 7030ef5e91..abea194b92 100644
--- a/src/vm/exceptionhandling.cpp
+++ b/src/vm/exceptionhandling.cpp
@@ -25,11 +25,15 @@
#define VSD_STUB_CAN_THROW_AV
#endif // _TARGET_ARM_ || _TARGET_X86_
+#if defined(_TARGET_ARM_) || defined(_TARGET_ARM64_)
+// ARM/ARM64 uses Caller-SP to locate PSPSym in the funclet frame.
+#define USE_CALLER_SP_IN_FUNCLET
+#endif // _TARGET_ARM_ || _TARGET_ARM64_
+
#if defined(_TARGET_ARM_) || defined(_TARGET_ARM64_) || defined(_TARGET_X86_)
#define ADJUST_PC_UNWOUND_TO_CALL
#define STACK_RANGE_BOUNDS_ARE_CALLER_SP
#define USE_FUNCLET_CALL_HELPER
-#define USE_CALLER_SP_IN_FUNCLET
// For ARM/ARM64, EstablisherFrame is Caller-SP (SP just before executing call instruction).
// This has been confirmed by AaronGi from the kernel team for Windows.
//