This is the mail archive of the cygwin 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: Two probable basing issues causing fork failures: (1) cygreadline7.dll has ASLR enabled, (2) default base address conflicts with ASLR-relocated/system DLLs

On Apr 23 16:31, James Johnston wrote:
> > As for the address space, we should stick to using the addresses below
> > 0x70000000, top-down.  The reason is that we also need room for the
> > application heap.  On 32 bit systems the heap will be placed at 0x20000000
> > and in case it's too small it will be extended up to the start
> > address of the Cygwin DLL (minus 3 * 64K).
> [...]
> But on systems with ASLR, I noticed multiple ASLR system DLLs in this
> address range.  Even on clean Windows XP SP3 installations there was a
> system DLL in the 0x60000000 - 0x70000000 range.  Isn't it just by
> luck that the DLLs didn't conflict and cause one to be relocated?  (Or
> does Cygwin rebasing have some more smarts I am overlooking, like
> working around system DLLs that are already loaded?  Although, that
> wouldn't help with ASLR DLLs... it still sounds risky.  And Windows
> Update will potentially change the DLLs, too.)

We have to compromise.  There is no 100% guarantee that it works.

> Certainly heap space is a compromise - I thought of that - but I would
> guess most Cygwin users don't need it.  At least, this one doesnât!

You don't know if you need it or not.  It's something the application
requests automatically under the hood (sbrk call).


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

Problem reports:
Unsubscribe info:

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