data and bss tests in dll_list::alloc

Corinna Vinschen
Wed Feb 8 15:42:00 GMT 2012

On Feb  8 10:21, Christopher Faylor wrote:
> On Wed, Feb 08, 2012 at 03:54:19PM +0100, Corinna Vinschen wrote:
> >I just fixed a typo in the fabort calls in dll_list::alloc.  But in
> >fact I'm wondering if we really need the extensive data_start/data_end/
> >bss_start/bss_end tests.  The reason is simple.  All DLL segments are
> >always loaded into adjacent addresses, always in the order given by the
> >DLL segement information.
> If that is the case can we simplify the child_copy operation?  That
> would speed up fork slightly.

I'm not sure, but if you're asking if we can only give a single address
to child_copy, then the answer is probably no.  You can't rely on the
fact that data and bss segments are adjacent segments in the DLL, just
that adjacent segments in the DLL will be loaded into adjacent addresses
in the processes VM.


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

More information about the Cygwin-developers mailing list