Eric Pouech : valgrind: Made Wine compliant will latest Valgrind macros ( the one removed from 3.3.0 and deprecated since 3.2.0).

Alexandre Julliard julliard at winehq.org
Mon Dec 24 14:21:33 CST 2007


Module: wine
Branch: master
Commit: aff968fb472efd773b2c84d081d5a38429a01ac0
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=aff968fb472efd773b2c84d081d5a38429a01ac0

Author: Eric Pouech <eric.pouech at orange.fr>
Date:   Sun Dec 23 14:57:36 2007 +0100

valgrind: Made Wine compliant will latest Valgrind macros (the one removed from 3.3.0 and deprecated since 3.2.0).

---

 dlls/ntdll/heap.c        |   16 ++++++++++++----
 dlls/ntdll/signal_i386.c |    4 +++-
 loader/kthread.c         |    2 +-
 3 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/dlls/ntdll/heap.c b/dlls/ntdll/heap.c
index 0c80f83..198c5b1 100644
--- a/dlls/ntdll/heap.c
+++ b/dlls/ntdll/heap.c
@@ -140,7 +140,9 @@ static BOOL HEAP_IsRealArena( HEAP *heapPtr, DWORD flags, LPCVOID block, BOOL qu
 static inline void mark_block_free( void *ptr, SIZE_T size )
 {
     if (TRACE_ON(heap) || WARN_ON(heap)) memset( ptr, ARENA_FREE_FILLER, size );
-#ifdef VALGRIND_MAKE_NOACCESS
+#if defined(VALGRIND_MAKE_MEM_NOACCESS)
+    VALGRIND_DISCARD( VALGRIND_MAKE_MEM_NOACCESS( ptr, size ));
+#elif defined( VALGRIND_MAKE_NOACCESS)
     VALGRIND_DISCARD( VALGRIND_MAKE_NOACCESS( ptr, size ));
 #endif
 }
@@ -148,7 +150,9 @@ static inline void mark_block_free( void *ptr, SIZE_T size )
 /* mark a block of memory as initialized for debugging purposes */
 static inline void mark_block_initialized( void *ptr, SIZE_T size )
 {
-#ifdef VALGRIND_MAKE_READABLE
+#if defined(VALGRIND_MAKE_MEM_DEFINED)
+    VALGRIND_DISCARD( VALGRIND_MAKE_MEM_DEFINED( ptr, size ));
+#elif defined(VALGRIND_MAKE_READABLE)
     VALGRIND_DISCARD( VALGRIND_MAKE_READABLE( ptr, size ));
 #endif
 }
@@ -156,13 +160,17 @@ static inline void mark_block_initialized( void *ptr, SIZE_T size )
 /* mark a block of memory as uninitialized for debugging purposes */
 static inline void mark_block_uninitialized( void *ptr, SIZE_T size )
 {
-#ifdef VALGRIND_MAKE_WRITABLE
+#if defined(VALGRIND_MAKE_MEM_UNDEFINED)
+    VALGRIND_DISCARD( VALGRIND_MAKE_MEM_UNDEFINED( ptr, size ));
+#elif defined(VALGRIND_MAKE_WRITABLE)
     VALGRIND_DISCARD( VALGRIND_MAKE_WRITABLE( ptr, size ));
 #endif
     if (TRACE_ON(heap) || WARN_ON(heap))
     {
         memset( ptr, ARENA_INUSE_FILLER, size );
-#ifdef VALGRIND_MAKE_WRITABLE
+#if defined(VALGRIND_MAKE_MEM_UNDEFINED)
+        VALGRIND_DISCARD( VALGRIND_MAKE_MEM_UNDEFINED( ptr, size ));
+#elif defined(VALGRIND_MAKE_WRITABLE)
         /* make it uninitialized to valgrind again */
         VALGRIND_DISCARD( VALGRIND_MAKE_WRITABLE( ptr, size ));
 #endif
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index 993936e..f70544d 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -936,7 +936,9 @@ static EXCEPTION_RECORD *setup_exception( SIGCONTEXT *sigcontext, raise_func fun
     }
 
     stack--;  /* push the stack_layout structure */
-#ifdef HAVE_VALGRIND_MEMCHECK_H
+#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->ret_addr     = (void *)0xdeadbabe;  /* raise_func must not return */
diff --git a/loader/kthread.c b/loader/kthread.c
index 2b64e27..efffd99 100644
--- a/loader/kthread.c
+++ b/loader/kthread.c
@@ -150,7 +150,7 @@ static inline void writejump( const char *symbol, void *dest )
     *(int *)(addr+1) = (unsigned char *)dest - (addr + 5);
     mprotect((void*)((unsigned int)addr & ~(getpagesize()-1)), 5, PROT_READ|PROT_EXEC);
 
-# ifdef HAVE_VALGRIND_MEMCHECK_H
+# ifdef VALGRIND_DISCARD_TRANSLATIONS
     VALGRIND_DISCARD_TRANSLATIONS( addr, 5 );
 # endif
 #endif  /* __GLIBC__ && __i386__ */




More information about the wine-cvs mailing list