This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Heads up: Several thousand g++ and libstdc++ test failures onsparc[64]


Pétur Runólfsson wrote:

It's a bit more complicated, especially if you don't know what you're
looking for :)


locale::_S_initialize is probably a good place to begin. Is __GTHREADS
defined? Does __gthread_once get called? What does it return? Is
gthr-single.h, gthr-posix.h or gthr-solaris.h used? Does
_S_initialize_once get called? Does it initialize _S_classic?

- GTHREADS is defined. - gthr-posix.h is used.

The other points I have to try, it is difficult since it gets a SEGV.

Starting program: /opt/gcc/gcc-cvs/objdir/sparc-sun-solaris2.9/libstdc++-v3/header_cassert.exe


Program received signal SIGSEGV, Segmentation fault. 0xff2cc4c0 in ?? () from /usr/local/lib/libstdc++.so.6 (gdb) bt #0 0xff2cc4c0 in ?? () from /usr/local/lib/libstdc++.so.6 #1 0xff2e36ec in ?? () from /usr/local/lib/libstdc++.so.6 #2 0xff2e171c in ?? () from /usr/local/lib/libstdc++.so.6 #3 0xff2cc3e8 in ?? () from /usr/local/lib/libstdc++.so.6 #4 0xff2cb684 in ?? () from /usr/local/lib/libstdc++.so.6 #5 0xff3ccc28 in ?? () #6 0xff3cc3a4 in ?? () #7 0xff3d7fe8 in ?? () #8 0xff3c2be8 in ?? () (gdb)

I can't set any good breakpoint:

(gdb) b locale.cc:379
Breakpoint 1 at 0x6aaa8: file ../../../../gcc/libstdc++-v3/src/locale.cc, line 379.
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y


Starting program: /opt/gcc/gcc-cvs/objdir/sparc-sun-solaris2.9/libstdc++-v3/header_cassert.exe

Warning:
Cannot insert breakpoint 1.
Error accessing memory address 0x6aaa8: I/O error.
The same program may be running in another process.
(gdb)

Benjamin sent me some stuff to try regarding debugging. I try.

Hope to get something, but I'm not sure since it seems not that easy :)

Andreas


P.S, this is the disass output from where it breaks. For the moment I don't see anything (means I don't understand)


Program received signal SIGSEGV, Segmentation fault.
0xff2cc4c0 in ?? () from /usr/local/lib/libstdc++.so.6
(gdb) disass 0xff2cc4c0 0xff2cc4c0 +50
Dump of assembler code from 0xff2cc4c0 to 0xff2cc4f2:
0xff2cc4c0: ld [ %i0 ], %g1
0xff2cc4c4: add %g1, %i1, %g1
0xff2cc4c8: st %g1, [ %i0 ]
0xff2cc4cc: clrb [ %i5 ]
0xff2cc4d0: ret
0xff2cc4d4: restore
0xff2cc4d8: save %sp, -112, %sp
0xff2cc4dc: sethi %hi(0x400), %g1
0xff2cc4e0: sethi %hi(0x74400), %l7 <--- see below
0xff2cc4e4: call 0xff2cb858
0xff2cc4e8:
add %l7, 0x19c, %l7 ! 0x7459c <_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_+365>
0xff2cc4ec: or %g1, 0x10c, %g1
0xff2cc4f0: ld [ %l7 + %g1 ], %i5
End of assembler dump.
(gdb)



this is the section frm libstdc++.so.6 with dis (objdump on solaris)


        74400:  92 10 3f ff        mov          -0x1, %o1
        74404:  80 a2 20 00        cmp          %o0, 0x0
        74408:  14 80 00 04        bg           0x74418
        7440c:  90 10 00 10        mov          %l0, %o0
        74410:  40 01 34 70        call         0xc15d0
        74414:  92 10 00 13        mov          %l3, %o1
        74418:  81 c7 e0 0c        jmp          %i7 + 0xc
        7441c:  91 e8 00 11        restore      %g0, %l1, %o0

section .gnu.linkonce.t._ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_
_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_()




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