From: Rahul Kumar Date: Mon, 10 Apr 2017 22:48:31 +0000 (-0700) Subject: modify lastAvAddress when adjusting context for Stub X-Git-Tag: submit/tizen/20210909.063632~11030^2~7274^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ab7a881b0fd6c90c36ba40f07ef07e80282856f1;p=platform%2Fupstream%2Fdotnet%2Fruntime.git modify lastAvAddress when adjusting context for Stub Commit migrated from https://github.com/dotnet/coreclr/commit/e9f4b4d2dcbe0e3bfce1b5bf7f00ff46fcfe3460 --- diff --git a/src/coreclr/src/vm/i386/excepx86.cpp b/src/coreclr/src/vm/i386/excepx86.cpp index 2c863b2..9680e87 100644 --- a/src/coreclr/src/vm/i386/excepx86.cpp +++ b/src/coreclr/src/vm/i386/excepx86.cpp @@ -3703,6 +3703,13 @@ AdjustContextForVirtualStub( pExceptionRecord->ExceptionAddress = (PVOID)callsite; SetIP(pContext, callsite); +#ifdef HAVE_GCCOVER + // Modify LastAVAddress saved in thread to distinguish between fake & real AV + // See comments in IsGcMarker in file excep.cpp for more details + pThread->SetLastAVAddress((LPVOID)GetIP(pContext)); +#endif + + // put ESP back to what it was before the call. SetSP(pContext, dac_cast(dac_cast(GetSP(pContext)) + sizeof(void*))); diff --git a/src/coreclr/tests/src/Loader/classloader/methodoverriding/regressions/549411/exploit.csproj b/src/coreclr/tests/src/Loader/classloader/methodoverriding/regressions/549411/exploit.csproj index 1ebf6ee..0f191d1 100644 --- a/src/coreclr/tests/src/Loader/classloader/methodoverriding/regressions/549411/exploit.csproj +++ b/src/coreclr/tests/src/Loader/classloader/methodoverriding/regressions/549411/exploit.csproj @@ -12,7 +12,6 @@ Exe BuildAndRun 0 - true diff --git a/src/coreclr/tests/x86_jit32_issues.targets b/src/coreclr/tests/x86_jit32_issues.targets index 04960ea..7a6983d 100644 --- a/src/coreclr/tests/x86_jit32_issues.targets +++ b/src/coreclr/tests/x86_jit32_issues.targets @@ -130,9 +130,6 @@ 6714 - - 6718 - 2414 @@ -337,9 +334,6 @@ needs triage - - 6717 - 6714