On 2014.11.10 at 11:43 -0800, H.J. Lu wrote:
> On Mon, Nov 10, 2014 at 6:24 AM, Jakub Jelinek <ja...@redhat.com> wrote:
> > On Mon, Nov 10, 2014 at 02:44:55PM +0100, Richard Biener wrote:
> >> >> > I admit I haven't tried LTO bootstrap, but from normal bootstrap logs,
> >> >> > libcc1 is built normally using libtool using -fPIC only, and linked 
> >> >> > into
> >> >> > libcc1.so.0.0.0 and libcc1plugin.so.0.0.0, and of course against the
> >> >> > pic/libiberty.a, because we need PIC code in the shared libraries.
> >> >> > So, I don't understand the change at all.
> >> >> >
> >> >> >         Jakub
> >> >>
> >> >> This is the command line to build libcc1.la:
> >> >
> >> > Sure, but there was -fPIC used to compile all the *.o files that are 
> >> > being
> >> > linked into libcc1.so, so LTO should know that.
> >>
> >> And it does.  If not please file a bug with a smaller testcase than libcc1
> >> and libiberty.
> >
> > Ah, supposedly we should add $(POSTSTAGE1_HOST_EXPORTS) after 
> > $(HOST_EXPORTS)
> > to the libcc1 rules iff the libcc1 module is built by the newly built
> > bootstrapped compiler (but not when the compiler is not bootstrapped and
> > thus it is built by the host compiler), because if we first bootstrap the
> > compiler and build libcc1 by stage3, it is really post-stage1 building.
> 
> It doesn't help. The problem is the missing -fPIC when libtool calls
> g+++ to create the shared object.  My patch fixes it.

But wouldn't it be better to update to a more recent libtool version
instead of adding hack upon hack? 
This would also allow bootstrap-lto without the need of the gcc-ar
(, etc.) wrappers.

And you are one of the very few persons who could handle such an update.

-- 
Markus

Reply via email to