This is the mail archive of the
mailing list for the binutils project.
RE: ld-auto-import documentation update
- From: "Ralf Habacker" <Ralf dot Habacker at freenet dot de>
- To: <binutils at sources dot redhat dot com>
- Date: Fri, 27 Dec 2002 22:49:43 +0100
- Subject: RE: ld-auto-import documentation update
> >Now I have heard two times, that you don't want to change cygwins
> >implementation of how generating the exporting symbols. It's your
> >responsibility and I respect this, but you haven't answered about the
> >distinction beetwen using def files in relation to using import
> Will this thread never die? Every time I think it is close to going
> away, it is resurrected again. I can appreciate your enthusiasm for
> your changes, Ralf, but I think it is nearly time to give it a rest.
> Unfortunately, I can't precisely respond to "the distinction between
> using def files in relation to using import libraries", since I don't
> know what you are talking about.
> I don't know if this is what you are asking or not, but, if you are, I
> have to wonder why all of this isn't already obvious to you.
No, I know this all very well and it may be that I haven't said this clearly
[ a good repeation of the reasons why cygwin1.dll should be left as is]
> So, there is no benefit to changing the status quo in cygwin. I'm
> satisfied with link speeds in cygwin and maintaining a separate
> libcygwin.a is absolutely no hardship after all of these years. Nothing
> is broken so nothing needs to be fixed.
> I don't see why you think you need my buyin for the cygwin dll, anyway.
> Your changes are in. You just can't point to the cygwin dll as an
> example of their use. That's not a big deal.
Sorry, Chris you misunderstand my indention completly.
The topic "why cygwin library and may be other libraries uses import libraries"
is dead for me after your first answer, which has good reasons, but after that I
was thinking about ld's win32 specific features and have seen that there is some
documentation update needed about the cygwin especially for users which are not
very familiar with this specific issues and should be a starting point to
understand the different cygwin specific ld options. This could reduce mailing
list traffic about the cygwin ld basics.
I dont know if you have read the below mentioned part of the documentation
update for ld, which Charles has added. He has point out three reason for using
import libs (as you have stated already).
1. Until recently, the link-directly-to-dll functionality did not work with
2. Sometimes, it is useful to rename exports. For instance, the cygwin kernel
does this regularly: a symbol _foo will be exported as _foo, but also as foo by
using special directives in the DEF file when creating the import library. This
ability is not present without import libs.
3. Also, it's sometimes necessary to include pure static objects within the
import library (which otherwise contains only bfd's for indirection symbols that
point to the exports of a dll). Again, the import lib for the cygwin kernel
makes use of this ability, and it is not possible to do this without an import
The fact is, that point 2 is not true, renaming symbols depends only on def
files not on import libraries, which I have tried to describe with this
Hope that clear this problems.
BTW: I don't know if my bad english is the reason or if we are thinking so
different, anyway sorry for confusion.