[Bug 47125] Preloader fails to reserve a memory range when running under valgrind

wine-bugs at winehq.org wine-bugs at winehq.org
Mon May 6 00:52:05 CDT 2019


https://bugs.winehq.org/show_bug.cgi?id=47125

--- Comment #4 from jeffersoncarpenter2 at gmail.com ---
(In reply to Austin English from comment #3)
> (In reply to jeffersoncarpenter2 from comment #2)
> > 
> > Expected behavior for what reason?  I don't know if this is a problem
> > (valgrind fails to recognize an instruction later and kills the program,
> > then there's an invalid write reported from the SIGILL handler), but if it
> > were expected and correct behavior, then why print a warning?
> 
> From loader/preloader.c:
>  * To do this, we implement our own shared object loader that reserves memory
>  * that is important to Wine, and then loads the main binary and its ELF
>  * interpreter.
>  *                        
>  * We will try to set up the stack and memory area so that the program that
>  * loads after us (eg. the wine binary) never knows we were here, except that
>  * areas of memory it needs are already magically reserved.                 
> 
>  *
>  * The following memory areas are important to Wine:
>  *  0x00000000 - 0x00110000  the DOS area
>  *  0x80000000 - 0x81000000  the shared heap
>  *  ???        - ???         the PE binary load address (usually starting at
> 0x00400000)

Nonetheless, there's a reason why the region(s) can't be mapped under Valgrind,
and I'd like to know what that is.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list