This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: GCC snapshots + binutils 2.11 CVS won't bootstrap on FreeBSD 2.2.7
- To: binutils at sources dot redhat dot com
- Subject: Re: GCC snapshots + binutils 2.11 CVS won't bootstrap on FreeBSD 2.2.7
- From: Alexandre Oliva <aoliva at redhat dot com>
- Date: 07 Feb 2001 00:40:28 -0200
- Cc: gcc-bugs at gcc dot gnu dot org, "David O'Brien" <obrien at nuxi dot com>
- Organization: GCC Team, Red Hat
- References: <or1ytb32c1.fsf@guarana.lsd.ic.unicamp.br>
On Feb 6, 2001, Alexandre Oliva <aoliva@redhat.com> wrote:
> Using only FreeBSD-native tools seems to work fine.
Spoke too soon. Linking libstdc++.so fails with FreeBSD tools too:
ld: .libs/libstdc++.lax/libsupc++convenience.a/tinfo2.o: relocation for internal symbol expected at 0x555
/home/css/guest/oliva/src/egcs/libstdc++-v3/libsupc++/new_handler.cc:44: Definition of symbol `__ZNSt9bad_allocD1Ev' (multiply defined)
/home/css/guest/oliva/src/egcs/libstdc++-v3/libsupc++/new_op.cc:50: Definition of symbol `__ZNSt9bad_allocD1Ev' (multiply defined)
The multiply-defined error messages are odd. new_handler does indeed
define the destructor of class std::bad_alloc, as per the `#pragma
implementation "new"'. new_op.cc introduces a local definition of
it anyway, and, for some reason, nm says it's a global definition.
Maybe it's because the @GOT reference appears before the symbol is
defined as non-global? Here's the relevant assembly snippet from
new_op.s:
[no previous reference to __ZNSt9bad_allocD1Ev]
pushl __ZNSt9bad_allocD1Ev@GOT(%ebx)
[...]
.type __ZNSt9bad_allocD1Ev,@function
__ZNSt9bad_allocD1Ev:
[...]
.size __ZNSt9bad_allocD1Ev,Lfe2-__ZNSt9bad_allocD1Ev
.stabs "_ZNSt9bad_allocD1Ev:f21",36,0,50,__ZNSt9bad_allocD1Ev
[no further references to it]
% nm new_op.o | grep __ZNSt9bad_allocD1Ev
000004cc T __ZNSt9bad_allocD1Ev
Is this expected behavior from FreeBSD assembler as of release 2.2.7?
% as -v
GNU assembler version 1.92.3, FreeBSD $Revision: 1.4 $
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me