[PATCH] Fix build on PE-COFF targets and PR40125 *and* PR46695

Ralf Wildenhues Ralf.Wildenhues@gmx.de
Thu Dec 2 07:45:00 GMT 2010


* Dave Korn wrote on Wed, Dec 01, 2010 at 01:57:49PM CET:
> On 28/11/2010 18:13, Ralf Wildenhues wrote:
> 
> > Libtool has its undefined flag set to something like this.  Why would it
> > be necessary to try to override it?  Also, the libtool script will eat
> > those arguments not prefixed with -Wl, anyway.  To me it seems the
> > darwin special case is not needed at all.
> 
>   Based on off-list discussions with Iain, I was under the impression that
> Darwin still needs a special case for the lto-plugin, but not in general.
> However on re-reading the conversation it looks like I misunderstood there, it
> may be that just omitting -no-undefined is sufficient.

That sounds better, but it's not ideal that such system differences are
necessarily exposed to libtool users.

> >> +      lt_undef_flags='-no-undefined -bindir "$(bindir)"';
> >> +    fi
> > 
> > The naming is not intuitive.  Why should 'lt_undef_flags' have something
> > to do with the installation directory?
> 
>   Well, I was thinking of it as "the undef flag and all that goes with it".
> Could easily change it.

Yes, please.  lt_shared_flags maybe?

>   So, to sum up:
> 
> 1- Even if it doesn't need to pass a special -undefined option on Darwin, it
> definitely must *not* pass -no-undefined.
> 2- On GNU/Linux platforms we can pass -no-undefined by default and it makes no
> difference, but it may cause problems on Solaris.
> 3- Windows has to have -no-undefined.
> 
>   Therefore I still think it makes sense to have a single bit of autoconfery
> that handles all this in one place, and we can avoid a special case for Darwin
> by not passing -no-undefined by default but only where needed - i.e., Windows.
> 
>   If you don't like the name lt_undef_flags (and similar), how about
> lt_host_flags, i.e. something that makes it clear its a general dumping ground
> for host-specific libtool flags?

That would be ok with me too, if it really is the only host-specific set
of flags.

Thanks,
Ralf



More information about the Gcc-patches mailing list