PATCH: PR binutils/12280: Makefiles don't support LTO

Ralf Wildenhues Ralf.Wildenhues@gmx.de
Mon Dec 6 21:30:00 GMT 2010


* H.J. Lu wrote on Thu, Dec 02, 2010 at 08:24:04PM CET:
> On Thu, Dec 2, 2010 at 11:17 AM, Ralf Wildenhues wrote:
> > * H.J. Lu wrote on Thu, Dec 02, 2010 at 08:07:37PM CET:
> >>       PR binutils/12280
> >>       * Makefile.am (@gnu_make@LIBTOOL): New.
> >
> >> --- a/bfd/Makefile.am
> >> +++ b/bfd/Makefile.am
> >> @@ -681,6 +681,7 @@ BFD_BACKENDS = @bfd_backends@
> >>  BFD_MACHINES = @bfd_machines@
> >>  TDEFAULTS = @tdefaults@
> >>  HAVEVECS = @havevecs@
> >> +@gnu_make@LIBTOOL := +$(LIBTOOL)
> >
> > This will break 'make install', because in the generated install rules
> > such as install-bfdlibLTLIBRARIES, $(LIBTOOL) does not necessarily come
> > first in a recipe command.
> >
> > I can write a patch for this if you like, but not before Sunday.
> 
> I will wait for your patch.

I would like to fix the problem in general, i.e., upstream Automake,
and then port the solution to GCC+src, so that other projects can easily
benefit in the same way.

I have two questions:

One thing I'm wondering is that with libtool in the game, uninstalled
shared libraries and/or programs linked against them might be relinked
at installation time.  Do I understand correctly that in that case it is
desirable to also do this relinking step in parallel (so the install
rule will need a '+' as well)?

Second, what about static libraries?  Will 'ar' ever need to be, or
benefit from being, run in parallel as well?

Thanks,
Ralf



More information about the Binutils mailing list