summaryrefslogtreecommitdiff
path: root/src/vm/excep.h
diff options
context:
space:
mode:
authorJan Vorlicek <janvorli@microsoft.com>2018-09-24 23:51:44 (GMT)
committerWoongsuk Cho <ws77.cho@samsung.com>2019-03-07 06:27:38 (GMT)
commitb123f4f2eb22ec1d34c657a08e1309a7b19b2c12 (patch)
treefb054b9bff2f50a504dc00ba36e26f533e45952b /src/vm/excep.h
parent76d2d2dd465ab9beb50786793876608279983885 (diff)
downloadcoreclr-b123f4f2eb22ec1d34c657a08e1309a7b19b2c12.zip
coreclr-b123f4f2eb22ec1d34c657a08e1309a7b19b2c12.tar.gz
coreclr-b123f4f2eb22ec1d34c657a08e1309a7b19b2c12.tar.bz2
Fix hijacking for ARM/ARM64/x86 on Unix (#20042)refs/changes/15/201015/1
* Fix hijacking for ARM/ARM64/x86 on Unix We were not checking the case when we have interrupted a thread inside of a function epilog for other architectures than amd64. When such an interruption happens, GS cookie check in a stack walking has failed, since we are unable to decode GS cookie location when the IP is in epilog. This fix implements IsIPInEpilog for all architectures and makes the check unconditional. Change-Id: I9adafe6df13ecaff90fc2bf32d8a8db5f40bdcda
Diffstat (limited to 'src/vm/excep.h')
-rw-r--r--src/vm/excep.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vm/excep.h b/src/vm/excep.h
index 6df9a98..c2984b5 100644
--- a/src/vm/excep.h
+++ b/src/vm/excep.h
@@ -25,13 +25,13 @@ class Thread;
BOOL IsExceptionFromManagedCode(const EXCEPTION_RECORD * pExceptionRecord);
bool IsIPInMarkedJitHelper(UINT_PTR uControlPc);
-#if defined(_TARGET_AMD64_) && defined(FEATURE_HIJACK)
+#if defined(FEATURE_HIJACK) && (!defined(_TARGET_X86_) || defined(FEATURE_PAL))
// General purpose functions for use on an IP in jitted code.
bool IsIPInProlog(EECodeInfo *pCodeInfo);
bool IsIPInEpilog(PTR_CONTEXT pContextToCheck, EECodeInfo *pCodeInfo, BOOL *pSafeToInjectThreadAbort);
-#endif // defined(_TARGET_AMD64_) && defined(FEATURE_HIJACK)
+#endif // FEATURE_HIJACK && (!_TARGET_X86_ || FEATURE_PAL)
void RaiseFailFastExceptionOnWin7(PEXCEPTION_RECORD pExceptionRecord, PT_CONTEXT pContext);