From: Rémi Bernon rbernon@codeweavers.com
--- dlls/ntdll/unix/file.c | 6 ++++++ dlls/ntdll/unix/process.c | 8 +++++++- dlls/ntdll/unix/virtual.c | 6 +++++- 3 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c index cca8a497fe4..885b286e5e1 100644 --- a/dlls/ntdll/unix/file.c +++ b/dlls/ntdll/unix/file.c @@ -109,6 +109,12 @@ #endif #include <time.h> #include <unistd.h> +#ifdef HAVE_VALGRIND_VALGRIND_H +# include <valgrind/valgrind.h> +#endif +#ifdef HAVE_VALGRIND_MEMCHECK_H +# include <valgrind/memcheck.h> +#endif
#include "ntstatus.h" #define WIN32_NO_STATUS diff --git a/dlls/ntdll/unix/process.c b/dlls/ntdll/unix/process.c index fec0db9fa6a..2ce70047d52 100644 --- a/dlls/ntdll/unix/process.c +++ b/dlls/ntdll/unix/process.c @@ -60,6 +60,12 @@ #ifdef HAVE_MACH_MACH_H # include <mach/mach.h> #endif +#ifdef HAVE_VALGRIND_VALGRIND_H +# include <valgrind/valgrind.h> +#endif +#ifdef HAVE_VALGRIND_MEMCHECK_H +# include <valgrind/memcheck.h> +#endif
#include "ntstatus.h" #define WIN32_NO_STATUS @@ -1626,7 +1632,7 @@ NTSTATUS WINAPI NtSetInformationProcess( HANDLE handle, PROCESSINFOCLASS class, if (!ret) { #ifdef VALGRIND_STACK_REGISTER - VALGRIND_STACK_REGISTER( addr, (char *)addr + reserve ); + VALGRIND_DISCARD( VALGRIND_STACK_REGISTER( addr, (char *)addr + reserve ) ); #endif stack->StackBase = addr; } diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c index 168e6d38055..802c2d0089d 100644 --- a/dlls/ntdll/unix/virtual.c +++ b/dlls/ntdll/unix/virtual.c @@ -32,6 +32,7 @@ #include <string.h> #include <stdlib.h> #include <signal.h> +#include <stdint.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/stat.h> @@ -59,6 +60,9 @@ #ifdef HAVE_VALGRIND_VALGRIND_H # include <valgrind/valgrind.h> #endif +#ifdef HAVE_VALGRIND_MEMCHECK_H +# include <valgrind/memcheck.h> +#endif #if defined(__APPLE__) # include <mach/mach_init.h> # include <mach/mach_vm.h> @@ -3147,7 +3151,7 @@ NTSTATUS virtual_alloc_thread_stack( INITIAL_TEB *stack, ULONG_PTR zero_bits, SI goto done;
#ifdef VALGRIND_STACK_REGISTER - VALGRIND_STACK_REGISTER( view->base, (char *)view->base + view->size ); + VALGRIND_DISCARD( VALGRIND_STACK_REGISTER( view->base, (char *)view->base + view->size ) ); #endif
/* setup no access guard page */