http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55909



--- Comment #24 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2013-01-09 
11:51:22 UTC ---

> #1  0xfffff80100490988 in __cxxabiv1::__cxa_get_globals ()

>     at ../../../../libstdc++-v3/libsupc++/eh_globals.cc:63

> 63      { return get_global(); }

> (gdb) disassemble

> Dump of assembler code for function __cxxabiv1::__cxa_get_globals():

>    0xfffff80100490960 <+0>:     save  %sp, -176, %sp

>    0xfffff80100490964 <+4>:     sethi  %hi(0), %o0

>    0xfffff80100490968 <+8>:     sethi  %hi(0), %i0

>    0xfffff8010049096c <+12>:    sethi  %hi(0x18f400), %l7

>    0xfffff80100490970 <+16>:    call  0xfffff8010048dce0

> <__sparc_get_pc_thunk.l7>

>    0xfffff80100490974 <+20>:    add  %l7, 0x290, %l7    ! 0x18f690

>    0xfffff80100490978 <+24>:    add  %o0, 8, %o0

>    0xfffff8010049097c <+28>:    xor  %i0, 0, %i0

>    0xfffff80100490980 <+32>:    call  0xfffff8010061a558

>    0xfffff80100490984 <+36>:    add  %l7, %o0, %o0

> => 0xfffff80100490988 <+40>:    add  %o0, %i0, %i0

>    0xfffff8010049098c <+44>:    rett  %i7 + 8

>    0xfffff80100490990 <+48>:    nop 



Here's the disassembly for a working version of the compiler:



Dump of assembler code for function __cxxabiv1::__cxa_get_globals():

   0xfffff801001ea7a0 <+0>:     save  %sp, -176, %sp

   0xfffff801001ea7a4 <+4>:     sethi  %hi(0xc00), %o0

   0xfffff801001ea7a8 <+8>:     sethi  %hi(0), %i0

   0xfffff801001ea7ac <+12>:    sethi  %hi(0x129800), %l7

   0xfffff801001ea7b0 <+16>:    call  0xfffff80100182e60

<__sparc_get_pc_thunk.l7>

   0xfffff801001ea7b4 <+20>:    add  %l7, 0x50, %l7     ! 0x129850

=> 0xfffff801001ea7b8 <+24>:    add  %o0, 0x140, %o0

   0xfffff801001ea7bc <+28>:    xor  %i0, 0x10, %i0

   0xfffff801001ea7c0 <+32>:    call  0xfffff80100317c20 <__tls_get_addr@plt>

   0xfffff801001ea7c4 <+36>:    add  %l7, %o0, %o0

   0xfffff801001ea7c8 <+40>:    add  %o0, %i0, %i0

   0xfffff801001ea7cc <+44>:    rett  %i7 + 8

   0xfffff801001ea7d0 <+48>:    nop 



So it looks like the dynamic linker screwed up the PLT on your system.  I think

that you should rebuild the compiler without --enable-initfini-array.

Reply via email to