diff options
author | gbalykov <g.balykov@samsung.com> | 2017-06-03 06:31:28 +0300 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2017-06-02 20:31:28 -0700 |
commit | fd3668c7c9b9f5d64b5e6d1edf8c55a307cd3c2d (patch) | |
tree | 4dfd969b9979a2e4794e0cff4c46a378343b993e /src/vm/dllimport.cpp | |
parent | b47b138d595267315008885e6ac7e2f4322cc5a9 (diff) | |
download | coreclr-fd3668c7c9b9f5d64b5e6d1edf8c55a307cd3c2d.tar.gz coreclr-fd3668c7c9b9f5d64b5e6d1edf8c55a307cd3c2d.tar.bz2 coreclr-fd3668c7c9b9f5d64b5e6d1edf8c55a307cd3c2d.zip |
Remove relocations from SECTION_MethodDesc for ngened images for fields accessed from jit code for Linux ARM (#11963)
Diffstat (limited to 'src/vm/dllimport.cpp')
-rw-r--r-- | src/vm/dllimport.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/vm/dllimport.cpp b/src/vm/dllimport.cpp index b7807119c0..49c7d7a8b8 100644 --- a/src/vm/dllimport.cpp +++ b/src/vm/dllimport.cpp @@ -2294,7 +2294,19 @@ void NDirectStubLinker::DoNDirect(ILCodeStream *pcsEmit, DWORD dwStubFlags, Meth //pcsEmit->EmitCALL(METHOD__STUBHELPERS__GET_NDIRECT_TARGET, 1, 1); pcsEmit->EmitLDC(offsetof(NDirectMethodDesc, ndirect.m_pWriteableData)); pcsEmit->EmitADD(); + + if (decltype(NDirectMethodDesc::ndirect.m_pWriteableData)::isRelative) + { + pcsEmit->EmitDUP(); + } + pcsEmit->EmitLDIND_I(); + + if (decltype(NDirectMethodDesc::ndirect.m_pWriteableData)::isRelative) + { + pcsEmit->EmitADD(); + } + pcsEmit->EmitLDIND_I(); } } |