diff options
Diffstat (limited to 'packaging/0025-Fix-undefined-references-on-SOS-11701.patch')
-rw-r--r-- | packaging/0025-Fix-undefined-references-on-SOS-11701.patch | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/packaging/0025-Fix-undefined-references-on-SOS-11701.patch b/packaging/0025-Fix-undefined-references-on-SOS-11701.patch new file mode 100644 index 0000000000..cad1e7678f --- /dev/null +++ b/packaging/0025-Fix-undefined-references-on-SOS-11701.patch @@ -0,0 +1,81 @@ +From ef8f88537cf8264ea1b7f079b7cf93f2fda2bbcb Mon Sep 17 00:00:00 2001 +From: Jonghyun Park <parjong@gmail.com> +Date: Thu, 18 May 2017 12:30:52 +0900 +Subject: [PATCH 25/29] Fix undefined references on SOS (#11701) + +--- + src/vm/i386/excepx86.cpp | 21 +++++++++------------ + src/vm/virtualcallstub.cpp | 14 +++++++------- + 2 files changed, 16 insertions(+), 19 deletions(-) + +diff --git a/src/vm/i386/excepx86.cpp b/src/vm/i386/excepx86.cpp +index cf01147..9f19d47 100644 +--- a/src/vm/i386/excepx86.cpp ++++ b/src/vm/i386/excepx86.cpp +@@ -1953,18 +1953,6 @@ LPVOID STDCALL COMPlusEndCatch(LPVOID ebp, DWORD ebx, DWORD edi, DWORD esi, LPVO + return esp; + } + +-#endif // !DACCESS_COMPILE +- +-PTR_CONTEXT GetCONTEXTFromRedirectedStubStackFrame(CONTEXT * pContext) +-{ +- LIMITED_METHOD_DAC_CONTRACT; +- +- UINT_PTR stackSlot = pContext->Ebp + REDIRECTSTUB_EBP_OFFSET_CONTEXT; +- PTR_PTR_CONTEXT ppContext = dac_cast<PTR_PTR_CONTEXT>((TADDR)stackSlot); +- return *ppContext; +-} +- +-#if !defined(DACCESS_COMPILE) + PEXCEPTION_REGISTRATION_RECORD GetCurrentSEHRecord() + { + WRAPPER_NO_CONTRACT; +@@ -3618,6 +3606,15 @@ EXCEPTION_HANDLER_IMPL(COMPlusFrameHandlerRevCom) + #endif // !DACCESS_COMPILE + #endif // !WIN64EXCEPTIONS + ++PTR_CONTEXT GetCONTEXTFromRedirectedStubStackFrame(CONTEXT * pContext) ++{ ++ LIMITED_METHOD_DAC_CONTRACT; ++ ++ UINT_PTR stackSlot = pContext->Ebp + REDIRECTSTUB_EBP_OFFSET_CONTEXT; ++ PTR_PTR_CONTEXT ppContext = dac_cast<PTR_PTR_CONTEXT>((TADDR)stackSlot); ++ return *ppContext; ++} ++ + #ifndef DACCESS_COMPILE + LONG CLRNoCatchHandler(EXCEPTION_POINTERS* pExceptionInfo, PVOID pv) + { +diff --git a/src/vm/virtualcallstub.cpp b/src/vm/virtualcallstub.cpp +index 01b15c6..e753860 100644 +--- a/src/vm/virtualcallstub.cpp ++++ b/src/vm/virtualcallstub.cpp +@@ -1640,6 +1640,13 @@ void VirtualCallStubManager::BackPatchWorkerStatic(PCODE returnAddress, TADDR si + END_ENTRYPOINT_VOIDRET; + } + ++#if defined(_TARGET_X86_) && defined(FEATURE_PAL) ++void BackPatchWorkerStaticStub(PCODE returnAddr, TADDR siteAddrForRegisterIndirect) ++{ ++ VirtualCallStubManager::BackPatchWorkerStatic(returnAddr, siteAddrForRegisterIndirect); ++} ++#endif ++ + PCODE VirtualCallStubManager::ResolveWorker(StubCallSite* pCallSite, + OBJECTREF *protectedObj, + DispatchToken token, +@@ -4047,10 +4054,3 @@ BOOL VirtualCallStubManagerManager::TraceManager( + // Forward the call to the appropriate manager. + return pMgr->TraceManager(thread, trace, pContext, pRetAddr); + } +- +-#if defined(_TARGET_X86_) && defined(FEATURE_PAL) +-void BackPatchWorkerStaticStub(PCODE returnAddr, TADDR siteAddrForRegisterIndirect) +-{ +- VirtualCallStubManager::BackPatchWorkerStatic(returnAddr, siteAddrForRegisterIndirect); +-} +-#endif +-- +2.7.4 + |