summaryrefslogtreecommitdiff
path: root/src/debug
diff options
context:
space:
mode:
authorIgor Kulaychuk <igor.kulaychuk@gmail.com>2018-03-23 14:12:54 +0300
committerJan Vorlicek <janvorli@microsoft.com>2018-03-23 12:12:54 +0100
commit322574213202b408f82d6f50a5391576629e5392 (patch)
treefde8ef5e104f1d6898d9eb0604945c2c65c4aa40 /src/debug
parent16d1f6389bfaae5b991bd54ae21a3e709cf73fb1 (diff)
downloadcoreclr-322574213202b408f82d6f50a5391576629e5392.tar.gz
coreclr-322574213202b408f82d6f50a5391576629e5392.tar.bz2
coreclr-322574213202b408f82d6f50a5391576629e5392.zip
Fix Linux/x86 FuncEvalHijack stack alignment (#17143)
Diffstat (limited to 'src/debug')
-rw-r--r--src/debug/ee/i386/dbghelpers.S6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/debug/ee/i386/dbghelpers.S b/src/debug/ee/i386/dbghelpers.S
index d0a11011ca..f15ca5abd8 100644
--- a/src/debug/ee/i386/dbghelpers.S
+++ b/src/debug/ee/i386/dbghelpers.S
@@ -9,10 +9,14 @@
// @dbgtodo- once we port Funceval, use the ExceptionHijack stub instead of this func-eval stub.
NESTED_ENTRY FuncEvalHijack, _TEXT, UnhandledExceptionHandlerUnix
+#define STK_ALIGN_PADDING 12
+ sub esp, STK_ALIGN_PADDING
push eax // the ptr to the DebuggerEval
+ CHECK_STACK_ALIGNMENT
call C_FUNC(FuncEvalHijackWorker)
+ add esp, (4 + STK_ALIGN_PADDING)
jmp eax // return is the patch addresss to jmp to
-
+#undef STK_ALIGN_PADDING
NESTED_END FuncEvalHijack, _TEXT
//