This is the mail archive of the cygwin-developers 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: New Cygwin family member


On Feb  8 14:55, Corinna Vinschen wrote:
> On Feb  6 12:20, Corinna Vinschen wrote:
> > On Feb  5 22:14, Yaakov wrote:
> > > On Tue, 5 Feb 2013 21:04:11 -0500, Chris Sutcliffe wrote:
> > > > I'm guessing we're a ways out from that point yet, but when we get to
> > > > the point where Cygwin is officially offered in both architectures,
> > > > will the ask be of the various maintainers to produce binaries for
> > > > both (I personally don't mind as long as the tools exist to do it).
> > > 
> > > The problem is that not *everything* can be cross-compiled easily, if
> > > at all.  Linux distributions generally use dedicated build
> > > machines/farms (e.g. koji for Fedora) for this very reason.  This will
> > > certainly need to be addressed when the time comes.
> > 
> > Yeah.  This will still be a heck of a lot of work.  Given that "Hello
> > World" is barely a day old, you may understand that I didn't even dare
> > to call fork yet :}
> 
> Yay!  I have a running dash and fork works!  <at this point, imagine
> the *plop* sound of opening a bottle of finest champagne>
> 
> > Another really big problem is entirely unsolved yet:  32 and 64 bit
> > Cygwin processes execing each other, as well as working together.
> 
> Another problem is the memory layout (the "fork" problem).  Fortunately
> we have a 43 bit address space now.  Here's is our current model, still
> open for discussion:
> 
> - Keep clear of memory from 0x0 up to 0x0:7fffffff, and from
>   0x700:00000000 up to 0x7ff:ffffffff since these areas are used
>   by the OS for ... everything.
> 
> - Cygwin thread stacks will be located between 0x0:80000000 and
>   0x0:ffffffff.  With a default stack size of 1 Meg, we have room for
>   2048 threads.
> 
> - The Cygwin executables will be loaded to 0x1:00040000.

Correction:  Not 0x1:0004.0000 but 0x1:0040.0000  Exactly the old
default start address for executables + 4 Gigs.

> - The Cygwin DLL will be loaded to 0x1:80040000.  That leaves 2 Gigs of
>   space for the executable.  The space from 0x1:8000000 up to
>   0x1:80040000 will be used for Cygwin's shared memory areas.
> 
> - Other Cygwin distro DLLs are supposed to be rebased to the area
>   between 0x2:00000000 up to 0x3:ffffffff.  This is an area of 8 Gigs
>   for DLLs.  That should be enough for a while, I guess.
> 
> - The heap will be located at 0x4:00000000, and it will be 512Megs by
>   default.
> 
> - Then ... a big void ...
> 
> - Eventually, mmap's will be allocated from 0x700:00000000 downwards.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 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]