This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: PIC and libiberty
- From: Jim Blandy <jimb at redhat dot com>
- To: Ian Lance Taylor <ian at airs dot com>
- Cc: binutils at sources dot redhat dot com
- Date: 03 Feb 2005 18:31:52 -0500
- Subject: Re: PIC and libiberty
- References: <vt26519mupc.fsf@zenia.home> <m3acqlo6z4.fsf@gossamer.airs.com>
Ian Lance Taylor <ian@airs.com> writes:
> Jim Blandy <jimb@redhat.com> writes:
>
> > I've read through the threads in December regarding H.J.'s attempt to
> > use libtool in libiberty. It's too bad it didn't work out.
> >
> > However, I didn't find a rationale for this:
> >
> > 2004-12-25 David Edelsohn <edelsohn@gnu.org>
> >
> > Revert 2004-12-08 Makefile changes.
> >
> > and I didn't see a rationale for why H.J.'s original patch wasn't then
> > acceptable to commit. Granted, it would be nicer to use libtool (as
> > DJ originally suggested), but since that approach has been tried and
> > dropped, shouldn't we at least make the more conservative change
> > H.J. originally proposed?
>
> To which one of H.J.'s patches are you referring?
>
> There is this one:
> http://sources.redhat.com/ml/binutils/2004-12/msg00202.html
> but it was only required because of the change which David Edelsohn
> checked in (with my approval) and then reverted.
>
> The reversion patch message was here:
> http://gcc.gnu.org/ml/gcc-patches/2004-12/msg01926.html
>
> David Edelsohn's patch was based on a bug report from Steve Ellcey,
> but Steve's real problem turned out to be that he was using an old
> version of make.
I think I was referring to the first. Perhaps it is the reversion of
David's patch that I'm asking about.
> > I ask because CGEN-generated CPU components for SID depend on
> > libiberty, and they are shared libraries. So right now those
> > components are broken in SID, because they can't find PIC object
> > files for libiberty.
>
> None of the patches referenced above would fix that.
>
> Is the problem that there are no PIC object files for libiberty (they
> would be in the object directory libiberty/pic)? Or is the problem
> that they do exist, but that the SID build procedure can't find them?
Several things suspiciously fail to conspire to produce PIC files in
libiberty:
- The host makefile fragment for Linux (if there is one at all?)
doesn't set PICFLAG.
- The top-level makefile doesn't propagate its value of PICFLAG to
subconfigures or submakes.
- libiberty/configure.ac wouldn't do anything with a value for PICFLAG
that was passed to it.
- Libiberty/Makefile.in doesn't have the @cookie@ in the assignment to
PICFLAG, so it'll never get a non-empty value.
- And, as you suggest, SID wouldn't actually find them in the pic
subdir if it did exist. But I'm happy to fix that myself.
What I'm getting at is, I don't think there have been any pic files in
libiberty for some time.