I have recently been working on trying to get valgrind and wine to
work together and have run into a rather nasty problem.

I've read Dan Kegel's information at
http://wiki.winehq.org/Wine_and_Valgrind and looked at his patch but
it doesn't address the issue I'm having.

The basic problem is that windows applications like to load at a
relatively low address but because the PE windows executable is loaded
by an ELF executable (wine) it needs to make sure that wine itself has
not been loaded in an inconvenient place.

So the wine folks do much the same as we do - wine-preloader is run,
which is a static executable linked to load at a high address. That
then mmaps everything from 0 up to 1.5Gb before acting as an ELF
loader and loading the real wine executable and it's shared libraries
into memory and transferring control.

The problem of course is that under valgrind the wine preloader fails
to map that low address space (if for no other reason than that
valgrind is in the middle of it!) and so when it starts loading wine
there is a risk that some of will wind up in the place where wine will
want to load the windows executable.

In my case the problem was actually libwine.so, which the prelinker
had  chosen to load in exactly the wrong place ;-)

Does anybody have any brilliant solutions to this? Have you ever seen
this problem Dan?

Tom

-- 
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Valgrind-developers mailing list
Valgrind-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-developers

Reply via email to