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

Jason Tishler jason@tishler.net
Mon Jul 11 13:46:00 GMT 2005


Pierre,

On Mon, Jul 11, 2005 at 09:34:27AM -0400, Pierre A. Humblet wrote:
> ----- Original Message ----- 
> From: "Jason Tishler" <jason@xxxxxxx.xxx>
> To: <cygwin-apps@xxxxxx.xxx>

Thanks for the above. :,(

> > Unfortunately, I have found that the DLLs need a gap between them to
> > guarantee that fork() won't fail.  Additionally, I have run out of
> > address space even when starting at 0x70000000 on a system with a lot a
> > DLLs.  So, I'm not sure the standard base address scheme will work.  As
> > Cygwin continues to grow (and more DLLs added), people may actually have
> > to chose a subset of DLLs to rebase... :,(
> 
> How much of a gap?

rebaseall uses 0x10000, which is the smallest amount I found to work
empirically.

> So you are saying that neither --enable-auto-image-base 

I meant --enable-auto-image-base will only help, but not completely
solve the problem.

> nor the centralized database will work...

I'm concerned a global, centralized database will run out of address
space sooner rather than later.

> By the way, is it reliable to use objdump -x to find the base
> (ImageBase) ?  For cygssl-0.9.8.dll it is 10000000, but I thought the
> base was 0x63000000

I use a command line like the following:

    $ objdump -p /usr/bin/cygssl-0.9.7.dll | fgrep ImageBase
    ImageBase               6c700000

Jason

-- 
PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
Fingerprint: 7A73 1405 7F2B E669 C19D  8784 1AFD E4CC ECF4 8EF6



More information about the Cygwin-apps mailing list