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: libtcl8.5.dll collides with Cygwin DLL by default


On Mar 19 12:52, Christopher Faylor wrote:
> On Mon, Mar 19, 2012 at 10:59:09AM +0100, Corinna Vinschen wrote:
> >Chris?  Ping?
> >
> >On Mar 15 10:12, Corinna Vinschen wrote:
> >> On Mar 14 20:50, Yaakov (Cygwin/X) wrote:
> >> > On 2012-03-08 03:12, Corinna Vinschen wrote:
> >> > >The assumption that the Cygwin DLL has a given size and will never
> >> > >change is flawed.  How are we supposed to add new functionality if the
> >> > >DLL has to stick at a certain size?  And even using another GCC can
> >> > >easily change the size of the DLL, given changes in code generation.
> >> > 
> >> > Improving rebase is great, but should something be done to fix
> >> > compute_dll_image_base(), perhaps change the base to 0x61800000 to
> >> > give plenty of room for Cygwin?
> >> 
> >> I think that's a good idea.  But 0x61800000 is a bit much, I think.  The
> >> most important factor for the bigger size of the Cygwin DLL was the
> >> raise of the cygheap from 512K to 2 Megs.  This won't happen anymore for
> >> a loooooong time.  Therefore, 0x61600000 should be more than enough for
> >> a while.  That gives us another 2 Megs for other DLLs.
> >> 
> >> What do you think, Chris?  Is that worth a new binutils?
> 
> I saw the comment.  I've never looked at the code in question so I didn't
> have a ready answer.

I think a new binutils would be a good thing, with the start address in
ld/emultempl/pe.em, function compute_dll_image_base, changed from
0x61300000 to 0x61500000 or 0x61600000 so that the default base for DLLs
doesn't potentially colide with the bigger cygheap.

Looking once more into that, I think 0x61500000 is sufficient.  In
1.7.11 the end address of the cygheap is 0x61480000, it's size 0x20f000,
in the most recent snapshot it's 0x61480000 as well, it's size 0x20e000.
That means, if we choose 0x61500000, we have still 184K room for
extension.  Since we don't raise the size of the cygheap anymore, that
should be more than enough for a while...


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat


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