This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Observation for ALL maintainers who provide dlls (was Re:question for perl maintainer)


At 11:47 PM 7/11/2005 -0400, Christopher Faylor wrote:
>On Mon, Jul 11, 2005 at 08:33:15PM -0700, Brian Dessent wrote:
>>"Pierre A. Humblet" wrote:
>>
>>> The attached script takes the name of a .exe or .dll,
>>> uses cygcheck to find the dll dependence and checks for conflicts.
>>> 
>>> This will allow you to check your favorite applications or dlls,
>>> seeing if --enable-auto-image-base works for you.
>>
>>I was under the impression that relocations at startup-time (i.e. all
>>DLL base addresses set to 0x10000000) was fine and doesn't cause the
>>remap issue, since the windows loader apparently will always choose the
>>same layout for the DLLs for a given .exe every time.
>
>Relocations of standard "statically loaded" dlls can fail on fork the
>same way that dynamically loaded dlls do.  Windows doesn't guarantee
>that the base address will be the same in the "forker" and "forkee" and
>it seems like something in the forked process throws off windows so that
>it chooses a different location for some dlls.

I have extended the tool (attached) so that it takes a variable number
of arguments. You can check a program and all the dll's it might ever
load dynamically, or all the dll's in /bin, or whatever. 
cygcheck will search the PATH if necessary.

Pierre

Attachment: check_bases
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]