From fc588bec4852a1beedf9a13b78b28b550696b9eb Mon Sep 17 00:00:00 2001 From: Jonghyun Park Date: Thu, 9 Mar 2017 10:19:57 +0900 Subject: [x86/Linux] 16-byte aligned UMThunkStubs (#9997) --- src/vm/i386/asmhelpers.S | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/vm') diff --git a/src/vm/i386/asmhelpers.S b/src/vm/i386/asmhelpers.S index 790c0630e3..08d3bc88fd 100644 --- a/src/vm/i386/asmhelpers.S +++ b/src/vm/i386/asmhelpers.S @@ -546,7 +546,11 @@ NESTED_ENTRY UM2MThunk_WrapperHelper, _TEXT, NoHandler mov eax, [esp + 20] // pEntryThunk mov ecx, [esp + 24] // pThread mov ebx, [esp + 8] // pThunkArgs - call [esp + 16] // pAddr + + sub esp, 8 + CHECK_STACK_ALIGNMENT + call [esp + 16 + 8] // pAddr + add esp, 8 pop ebx @@ -557,9 +561,12 @@ NESTED_ENTRY UMThunkStubRareDisable, _TEXT, NoHandler push eax push ecx + sub esp, 12 push eax // Push the UMEntryThunk push ecx // Push thread + CHECK_STACK_ALIGNMENT call C_FUNC(UMThunkStubRareDisableWorker) + add esp, 12 pop ecx pop eax -- cgit v1.2.3