This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: libstdc++ problems /w egcs-2.91.52 on sparc-linux?
- To: egcs at cygnus dot com
- Subject: Re: libstdc++ problems /w egcs-2.91.52 on sparc-linux?
- From: Kevin Milans <kmilans at CapAccess dot org>
- Date: Wed, 29 Jul 1998 11:32:41 -0400 (EDT)
- cc: "David S. Miller" <davem at dm dot cobaltmicro dot com>, Andreas Schwab <schwab at issan dot informatik dot uni-dortmund dot de>, "H.J. Lu" <hjl at lucon dot org>
>From "David S. Miller" <davem@dm.cobaltmicro.com>:
>
> It looks as if egcs is linking programs with the original libstdc++
> provided on your system, and not the one egcs installed. Or vice versa.
>
> Can you check to see which is the case?
Egcs installed and is linking against the libstdc++ that it built; it
doesn't look like that is the problem.
---------------------------------------------------------------------
>From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>:
>
> You are mixing object files that are compiled with -fvtable-thunks with
> ones that are compiled without it.
Hmm... that's odd. I configured/built with:
supo:~/sparc/egcs-cvs/egcs-build# ../egcs/configure --prefix=/usr \
--enable-haifa --enable-threads
Configuring for a sparc-unknown-linux-gnu host.
Created "Makefile" in /root/sparc/egcs-cvs/egcs-build using "mh-frag" and "mt-frag"
Links are now set up to build a native compiler for sparc-unknown-linux-gnu
supo:~/sparc/egcs-cvs/egcs-build# make bootstrap
Is it possible that this would cause some files to be compiled with
-fvtable-thunks and others not?
>Please try
>
> nm /usr/lib/libstdc++.a | grep -e : -e 'vt.*filebuf'
This reports many object files. Those which are followed by symbols are:
filebuf.o:
U __vt_7filebuf
stdstrbufs.o:
U _vt.7filebuf
streambuf.o:
00000000 R __vt_7filebuf
I will check to see if stdstrbufs.o was compiled differently from the
other two. If that turns out to be the problem, there's probably a bug
in the build process.
---------------------------------------------------------------------
>From "H.J. Lu" <hjl@lucon.org>:
>
> I cannot link this simple program on Linux/Alpha. Can you like it on
> Linux/Sparc?
>
> ---foo.cc-
> struct A
> {
> virtual void f() = 0;
> };
> struct B : A
> {
> void f() {}
> };
>
> int main() { B b; return 0; }
This links okay under egcs on sparc-linux for me.
Thanks to all of you,
Kevin Milans