[x86/Linux] Do NOT use GSCookie on Funclet (dotnet/coreclr#9290)
authorJonghyun Park <parjong@gmail.com>
Fri, 3 Feb 2017 02:15:28 +0000 (11:15 +0900)
committerJan Kotas <jkotas@microsoft.com>
Fri, 3 Feb 2017 02:15:28 +0000 (18:15 -0800)
Commit migrated from https://github.com/dotnet/coreclr/commit/03a27899e86c0334e499151cf27cc6ddd3aebd4e

src/coreclr/src/vm/eetwain.cpp

index 8db5396..44f42a4 100644 (file)
@@ -5468,6 +5468,13 @@ void * EECodeManager::GetGSCookieAddr(PREGDISPLAY     pContext,
     GCInfoToken    gcInfoToken = pCodeInfo->GetGCInfoToken();
     unsigned       relOffset = pCodeInfo->GetRelOffset();
 
+#ifdef WIN64EXCEPTIONS
+    if (pCodeInfo->IsFunclet())
+    {
+        return NULL;
+    }
+#endif
+
 #if defined(_TARGET_X86_)
     CodeManStateBuf * stateBuf = (CodeManStateBuf*)pState->stateBuf;
     
@@ -5507,11 +5514,6 @@ void * EECodeManager::GetGSCookieAddr(PREGDISPLAY     pContext,
     }
 
 #elif defined(USE_GC_INFO_DECODER)
-    if (pCodeInfo->IsFunclet())
-    {
-        return NULL;
-    }
-
     GcInfoDecoder gcInfoDecoder(
             gcInfoToken,
             DECODE_GS_COOKIE