ld ---export--all --exclude-libs,?
Corinna Vinschen
vinschen@redhat.com
Wed Nov 14 16:09:00 GMT 2001
On Wed, Nov 21, 2001 at 07:41:58PM +1100, Danny Smith wrote:
> Hello, I'm after some criticism, before submitting this to binutils.
>
> IMO, the auto-export feature of ld needs (at least) an option to exclude
> whole libs from export. The following patch does that. It also adds a few
> more default lib excludes and scans for backward compat implib symbols
> (__imp_)
>
> I think this patch doesn't do enough.
>
> My preference would be to exclude *all* libs by default, with a command
> line option to explicity *include* named libs. Why? It is too easy for
> licensed library code to sneak into dll's using --export-all. This affects
> distributability (sic) of the dll and apps dependent on the dll.
> The user may be unaware of this infection because its automatic.
> At least make the user think about what she/he is exporting.
>
> I will gladly throw away the following to work on a patch to exclude all
> libs by default if given encouragement.
>
> Any comments.
Yes, a question. First note that I'm a binutils (l)user, not a
developer so I apologize for being thick. Now the question:
Isn't the functionality you're searching for already in ld given by
the --no-whole-archive options?
gcc -shared -o cygfoo.dll $(OBJ)
-Wl,--out-implib,libfoo.dll.a
-Wl,--no-whole-archive -lbar -lbaz
Or am I missing the point?
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Developer mailto:cygwin@cygwin.com
Red Hat, Inc.
More information about the Cygwin-apps
mailing list