This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
Re: ld --auto-import for cygwin and libtool
----- Original Message -----
From: "Charles Wilson" <cwilson@ece.gatech.edu>
To: <cygwin-apps@cygwin.com>
Sent: Monday, July 23, 2001 2:38 PM
Subject: Re: ld --auto-import for cygwin and libtool
> Christopher Faylor wrote:
>
>
> > It's possible that I might be convinced to include Paul's patches in the
> > next binutils release if they are not incorporated into the official
> > release. However, I would rather use the official CVS release, if
> > possible.
> >
Given the low level mucking around we're doing with PE here, I wouldn't
suggest that the auto-import functionality be unilaterally introduced by
cygwin - this one really belongs in CVS, or not at all :].
> I'm also now looking at it. However, I understand that one of the
> sticking points has been the relocation of cygwin1.dll from parent to
> child across fork(). See thread "dll base address" in the
> cygwin-developers archive:
> http://www.cygwin.com/ml/cygwin-developers/2001-06/msg00037.html
Nope. This isn't a sticking point. It was an issue I had to diagnose as it
wasn't documented, but it is _not_ related to the auto-import functionality.
<snip>
>
> Q: If so, then (pending further compatibility tests, of course. I'm
> working on it) can we start experimenting with including Paul's patch in
> binutils?
>
> subQ: I'm still not sure why the auto-import stuff is gatewayed by
> the fork()/parent/child problem. They seem orthogonal to me, but
> whatever...
They are orthogonal. I've said so in public twice I think - in the thread
you referenced.
Rob.
ps. the relevant history in a nutshell:
1) Paul releases his patch (documented as just adding --auto-import)
2) Robert (thats me :]) starts playing with it and finds fork() is broken
3) Robert finds that the auto-relocation is the problem
4) Robert finds that Pauls patch _ALSO_ enabled --auto-image-base, which is
disabled by default.
In short: it was my bad luck to be testing with a dll name that hashed to an
address colliding with cygwin.
Rob