[PATCH 1/2] [Ntdll]: notify valgrind for stack management while in exception
Eric Pouech
eric.pouech at orange.fr
Sun Feb 21 08:17:41 CST 2010
A+
---
dlls/ntdll/signal_x86_64.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
index 86babb2..df0727a 100644
--- a/dlls/ntdll/signal_x86_64.c
+++ b/dlls/ntdll/signal_x86_64.c
@@ -52,6 +52,10 @@
#include "wine/dwarf.h"
#include "wine/unwind.h"
+#ifdef HAVE_VALGRIND_MEMCHECK_H
+#include <valgrind/memcheck.h>
+#endif
+
WINE_DEFAULT_DEBUG_CHANNEL(seh);
struct _DISPATCHER_CONTEXT;
@@ -1446,6 +1450,11 @@ static EXCEPTION_RECORD *setup_exception( ucontext_t *sigcontext, raise_func fun
}
stack--; /* push the stack_layout structure */
+#if defined(VALGRIND_MAKE_MEM_UNDEFINED)
+ VALGRIND_MAKE_MEM_UNDEFINED(stack, sizeof(*stack));
+#elif defined(VALGRIND_MAKE_WRITABLE)
+ VALGRIND_MAKE_WRITABLE(stack, sizeof(*stack));
+#endif
stack->rec.ExceptionRecord = NULL;
stack->rec.ExceptionCode = exception_code;
stack->rec.ExceptionFlags = EXCEPTION_CONTINUABLE;
More information about the wine-patches
mailing list