Port-sparc64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: atomic_cas_ulong_ni segmentation fault



On Thursday 06 March 2008 13:58:26 Andrew Doran wrote:
> On Thu, Mar 06, 2008 at 01:36:58PM +0000, raymond.meyer%rambler.ru@localhost 
> wrote:
> > I'm running 32-bit sparc port of NetBSD 4.99.55 with netbsd_sun4u kernel
> > on Ultra 10. The userland and kernel were compiled
> > with '-Os -mcpu=ultrasparc -mvis'
> >
> > #include <stdio.h>
> > int main(void)
> > {
> >     printf("hey\n");
> >     return 0;
> > }
> >
> > If I compile the above program with 'gcc test.c -lpthread' and then run
> > the executable, it dies with SEGV.
> >
> > Running gdb on the core file outputs the following:
> >
> > Program terminated with signal 11, Segmentation fault
> > #0 0x40117324 in atomic_cas_ulong_ni () from /usr/lib/libc.so.12
>
> Please provide:
>
> - backtrace
> - dissasembly of atomic_cas_ulong_ni() (disassemble atomic_cas_ulong_ni)
> - registers (info reg)
>
> Thanks,
> Andrew

see attachement
Script started on Thu Mar  6 14:45:02 2008
# gdb a.out a.out.core
GNU gdb 6.5
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "sparc--netbsdelf"...(no debugging symbols found)

Reading symbols from /usr/lib/libpthread.so.0...(no debugging symbols 
found)...done.
Loaded symbols for /usr/lib/libpthread.so.0
Reading symbols from /usr/lib/libsparc_v8.so.0...(no debugging symbols 
found)...done.
Loaded symbols for /usr/lib/libsparc_v8.so.0
Reading symbols from /usr/lib/libc.so.12...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libc.so.12
Reading symbols from /usr/libexec/ld.elf_so...(no debugging symbols 
found)...done.
Loaded symbols for /usr/libexec/ld.elf_so

Core was generated by `a.out'.
Program terminated with signal 11, Segmentation fault.
#0  0x40117324 in atomic_cas_ulong_ni () from /usr/lib/libc.so.12
(gdb) bt
#0  0x40117324 in atomic_cas_ulong_ni () from /usr/lib/libc.so.12
#1  0x400671d4 in pthread_mutex_lock () from /usr/lib/libpthread.so.0
#2  0x4012ba28 in free () from /usr/lib/libc.so.12
#3  0x4012cf9c in malloc () from /usr/lib/libc.so.12
#4  0x4010d264 in pthread_atfork () from /usr/lib/libc.so.12
#5  0x4006a2e0 in pthread__init () from /usr/lib/libpthread.so.0
#6  0x400dd264 in ether_ntohost () from /usr/lib/libc.so.12
#7  0x40170c94 in __errno () from /usr/lib/libc.so.12
#8  0x400c4fc4 in _init () from /usr/lib/libc.so.12
#9  0x40023a70 in _rtld_call_init_functions () from /usr/libexec/ld.elf_so
#10 0x40024414 in _rtld () from /usr/libexec/ld.elf_so
#11 0x40022ef4 in _rtld_start () from /usr/libexec/ld.elf_so
#12 0x40022ef4 in _rtld_start () from /usr/libexec/ld.elf_so
Previous frame identical to this frame (corrupt stack?)
(gdb) disassemble atomic_cas_ulong_ni
Dump of assembler code for function atomic_cas_ulong_ni:
0x40117314 <atomic_cas_ulong_ni+0>:     srl  %o0, 3, %o5
0x40117318 <atomic_cas_ulong_ni+4>:     and  %o5, 0x3ff, %o5
0x4011731c <atomic_cas_ulong_ni+8>:     sethi  %hi(0xfffffc00), %o3
0x40117320 <atomic_cas_ulong_ni+12>:    add  %o5, %o3, %o5
0x40117324 <atomic_cas_ulong_ni+16>:    ldstub  [ %o5 ], %o3
0x40117328 <atomic_cas_ulong_ni+20>:    tst  %o3
0x4011732c <atomic_cas_ulong_ni+24>:    be,a   0x40117344 
<atomic_cas_ulong_ni+48>
0x40117330 <atomic_cas_ulong_ni+28>:    nop 
0x40117334 <atomic_cas_ulong_ni+32>:    nop 
0x40117338 <atomic_cas_ulong_ni+36>:    nop 
0x4011733c <atomic_cas_ulong_ni+40>:    b,a   0x40117324 
<atomic_cas_ulong_ni+16>
0x40117340 <atomic_cas_ulong_ni+44>:    nop 
0x40117344 <atomic_cas_ulong_ni+48>:    ld  [ %o0 ], %o3
0x40117348 <atomic_cas_ulong_ni+52>:    cmp  %o1, %o3
0x4011734c <atomic_cas_ulong_ni+56>:    be,a   0x40117354 
<atomic_cas_ulong_ni+64>
0x40117350 <atomic_cas_ulong_ni+60>:    st  %o2, [ %o0 ]
0x40117354 <atomic_cas_ulong_ni+64>:    clrb  [ %o5 ]
0x40117358 <atomic_cas_ulong_ni+68>:    retl 
0x4011735c <atomic_cas_ulong_ni+72>:    mov  %o3, %o0
End of assembler dump.
(gdb) info reg
g0             0x0      0
g1             0x3000000        50331648
g2             0x81c06314       -2118098156
g3             0x310045c        51381340
g4             0xf0000000       -268435456
g5             0x0      0
g6             0x0      0
g7             0x0      0
o0             0x40192dbc       1075391932
o1             0x0      0
o2             0xffe00000       -2097152
o3             0xfffffc00       -1024
o4             0x0      0
o5             0xfffffdb7       -585
sp             0xffffc420       0xffffc420
o7             0x400671cc       1074164172
l0             0x0      0
l1             0x0      0
l2             0x0      0
l3             0x0      0
l4             0x0      0
l5             0x0      0
l6             0x0      0
l7             0x4007c0dc       1074249948
i0             0x40192dac       1075391916
i1             0x0      0
i2             0x0      0
i3             0x0      0
i4             0x0      0
i5             0x0      0
fp             0xffffc488       0xffffc488
i7             0x4012ba20       1074969120
y              0x0      0
psr            0x4400000        71303168
wim            0x0      0
tbr            0x0      0
pc             0x40117324       0x40117324 <atomic_cas_ulong_ni+16>
npc            0x40117328       0x40117328 <atomic_cas_ulong_ni+20>
fsr            0x400671cc       1074164172
csr            0x0      0
(gdb) quit
# ^D
Script done on Thu Mar  6 14:45:52 2008


Home | Main Index | Thread Index | Old Index