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:21:59 (GMT)
commit6dca04a8e7afc711221a3dc499d696a192ffb540 (patch)
treefb054b9bff2f50a504dc00ba36e26f533e45952b /src/vm/excep.h
parent76d2d2dd465ab9beb50786793876608279983885 (diff)
downloadcoreclr-6dca04a8e7afc711221a3dc499d696a192ffb540.zip
coreclr-6dca04a8e7afc711221a3dc499d696a192ffb540.tar.gz
coreclr-6dca04a8e7afc711221a3dc499d696a192ffb540.tar.bz2
* 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: I365be79d6b43ec900084bf2ec031b3555917f8e0
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);