From: Jonghyun Park Date: Wed, 12 Apr 2017 21:44:20 +0000 (+0900) Subject: [x86/Linux] 16-byte aligned DelayLoad_MethodCall (dotnet/coreclr#10760) X-Git-Tag: submit/tizen/20210909.063632~11030^2~7285 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cea925bc599af5cff5e3ee170b19b4535cec75bd;p=platform%2Fupstream%2Fdotnet%2Fruntime.git [x86/Linux] 16-byte aligned DelayLoad_MethodCall (dotnet/coreclr#10760) Commit migrated from https://github.com/dotnet/coreclr/commit/789879bb302416c511b01442d60a037b2c6ece4a --- diff --git a/src/coreclr/src/vm/i386/asmhelpers.S b/src/coreclr/src/vm/i386/asmhelpers.S index 45774fa..2242c80 100644 --- a/src/coreclr/src/vm/i386/asmhelpers.S +++ b/src/coreclr/src/vm/i386/asmhelpers.S @@ -817,16 +817,19 @@ NESTED_ENTRY DelayLoad_MethodCall, _TEXT, NoHandler mov esi, esp + #define STACK_ALIGN_PADDING 4 + sub esp, STACK_ALIGN_PADDING + push ecx push edx - push eax - - // pTransitionBlock - push esi - + push esi // pTransitionBlock + CHECK_STACK_ALIGNMENT call C_FUNC(ExternalMethodFixupWorker) + add esp, STACK_ALIGN_PADDING + #undef STACK_ALIGN_PADDING + // eax now contains replacement stub. PreStubWorker will never return // NULL (it throws an exception if stub creation fails.)