A new version of the patch to valgrind needed to support WINE has been uploaded to Sourceforge:
http://sourceforge.net/tracker/index.php?func=detail&aid=710006&grou...
It should apply cleanly to current valgrind CVS.
This version of the patch will now work with an unmodified WINE CVS version. This is because it now _fully_ implements clone() support - ie it really does create system level threads.
Currently only one thread can run at a time, so there are no locking issues in the main valgrind code.
To use with WINE, you need to get a CVS checkout of valgrind, then apply the patch using:
export CVSROOT=:pserver:anonymous@cvs.sourceforge.net:/cvsroot/valgrind cvs login cvs co valgrind patch -p0 < valgrind-wine.patch.13
then build and install valgrind:
autogen.sh ./configure make install
Get a CVS checkout of WINE by following the instructions at:
http://www.winehq.com/?page=cvs
then configure (for debugging) and build:
CFLAGS=-g ./configure make depend && make install
now you can start looking for bugs in WINE, and bugs in your own (debug) Windows code. Copy any DLLs/EXEs to somewhere WINE can get to them, plus copy any .PDB files that go with them into the same directory.
Run WINE under valgrind using eg:
valgrind --num-callers=30 --workaround-gcc296-bugs=yes wine notepad.exe
or even:
valgrind --num-callers=30 --workaround-gcc296-bugs=yes --gdb-attach=yes wine notepad.exe
enjoy.
Seeya, Adam -- Real Programmers don't comment their code. If it was hard to write, it should be hard to read, and even harder to modify. These are all my own opinions.