Source-Changes-D archive

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

Re: CVS commit: src/sys/arch/atari/stand/installboot



On Fri, Nov 14, 2014 at 11:03:15PM +0100, Martin Husemann wrote:
> Core was generated by `sed'.
> Program terminated with signal SIGSEGV, Segmentation fault.
> ...
>    0x8c2b4:     movel %d1,%a1@+
>    0x8c2b6:     beqs 0x8c2be
> => 0x8c2b8:     addql #1,%d0
>    0x8c2ba:     cmpl %d0,%d2
>    0x8c2bc:     bccs 0x8c2ac
>    0x8c2be:     movel %sp@+,%d2
>    0x8c2c0:     unlk %fp
>    0x8c2c2:     rts

More interesting how it got there:

(gdb) x/16i  0x0006fce0
   0x6fce0:     lea 0x8c296,%a2
   0x6fce6:     jsr %a2@
   0x6fce8:     movel %d0,%d4

indirect function pointer call via %a2 to:

(gdb) x/16i 0x8c296
   0x8c296:     linkw %fp,#0
   0x8c29a:     movel %d2,%sp@-
   0x8c29c:     movel %fp@(16),%d2
   0x8c2a0:     moveal %fp@(12),%a0
   0x8c2a4:     moveal %a0@,%a0
   0x8c2a6:     moveal %fp@(8),%a1
   0x8c2aa:     clrl %d0
   0x8c2ac:     tstl %a0
   0x8c2ae:     beqs 0x8c2be
   0x8c2b0:     clrl %d1
   0x8c2b2:     moveb %a0@+,%d1
   0x8c2b4:     movel %d1,%a1@+
   0x8c2b6:     beqs 0x8c2be
=> 0x8c2b8:     addql #1,%d0


I still don't see the segmentation violation - what am I missing?
Gdb is a bit confused about the stack:

(gdb) bt
#0  0x0008c2b8 in ?? ()
#1  0xffffaba4 in ?? ()
#2  0xffffbc34 in ?? ()
#3  0x0006fce8 in ?? ()
#4  0x00000000 in ?? ()


Martin


Home | Main Index | Thread Index | Old Index