This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: GCC snapshots + binutils 2.11 CVS won't bootstrap on FreeBSD 2.2.7


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]