This is the mail archive of the
mailing list for the GCC project.
Re: Linking libstdc++ with gcc-3.0.2 prerelease fails on IA64
On Mon, Oct 15, 2001 at 11:59:13AM -0700, H . J . Lu wrote:
> On Mon, Oct 15, 2001 at 01:25:56PM -0500, Krishnakumar B wrote:
> > On Monday, 15 October 2001, H . J . Lu wrote:
> > > On Mon, Oct 15, 2001 at 10:26:55AM -0700, Janis Johnson wrote:
> > > > On Sun, Oct 14, 2001 at 06:38:26PM -0500, Krishnakumar B wrote:
> > > > >
> > > > > I am trying to bootstrap IA-64. During the link stage of libstdc++, I get
> > > > > the following message. I can reproduce the failure at the same stage with
> > > > > the snapshots 200011001 and 20011007 also.
> > > > >
> > > > > .libs/string-inst.o:/u/kitty/tools/gcc-3.0.2-20011014/ia64-redhat-linux/ia64-redhat-linux/libstdc++-v3/include/bits/basic_string.h:238:
> > > > > unsupported reloc
> > > >
> > > > I see this with the mainline CVS. Rather than looking into it I've just
> > > > avoided building c++ and java. Unless someone already knows what the
> > > > problem is I can look into it.
> > > >
> > >
> > > I believe it is a binutils bug. Please tell me how to reproduce it. I
> > > will make sure it is fixed.
> > Just try bootstrapping gcc on IA64. Linking libstdc++ fails with this
> > error. True for both the mainline or prerelease. I resorted to linking
> > using binutils 220.127.116.11.8 though I am sure that it will link with any
> > binutils other than 18.104.22.168.5.
> I need the exact steps in order to duplicate the problem.
OK, here's what I did on an IA-64 system; it's pretty basic.
gcc-mainline is a symbolic link to the CVS gcc tree, last updated
Wed Oct 10 19:07:42 UTC 2001.
GNU ld version 22.214.171.124.5 20011005.
gcc -v (partial):
gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-96).
Linux elm3a81 2.4.7-2smp #1 SMP Tue Aug 14 04:31:14 EDT 2001 ia64 unknown
../gcc-mainline/configure --prefix=/home/janis/gnu/tools \
--enable-languages="c,c++" > configure.log 2>&1
make > make.log 2>&1
I've got two object files that will cause the same failure with the command
"ld -G stl-inst.o string-inst.o -o libx.so", with either a native ia64-linux
linker or a cross linker on i686-pc-linux-gnu (both 126.96.36.199.5). Let me
know if you'd like those files.