Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* software single step
@ 2002-11-03  5:54 Stuart Hughes
  2002-11-03 17:22 ` Daniel Jacobowitz
  0 siblings, 1 reply; 7+ messages in thread
From: Stuart Hughes @ 2002-11-03  5:54 UTC (permalink / raw)
  To: gdb

Hi,

I'm trying to use gdb/gdbserver to debug a strong-arm target.  I'm
having problems with single stepping.  If I try to step into the loop
shown below, it simply runs on printing all 10 loop iterations.

    for ( i = 0; i < 10 ; i++ ) {
        printf("loop count = %d\n", i);
    }

If I disassemble, the problem seems to be the branch instructions, the
loop control looks like:

0x83c4 <main+36>:       cmp     r3, #9  ; 0x9
0x83c8 <main+40>:       ble     0x83d0 <main+48>
0x83cc <main+44>:       b       0x83ec <main+76>
0x83d0 <main+48>:       ldr     r0, [pc, #60]   ; 0x8414 <main+116>

To investigate this further, I built a "native" gdb for the strong-arm
from the same code gdb code base.  This worked correectly, I was able to
step into and control the flow through the loop.

It seems as though the problem is that gdbserver is implementing
software_single_step differently to a "native" gdb.

Has anyone else seen this problem ? Does anyone know of a work around,
or a fix ?

TIA, Stuart.


BTW: my environment is:

gdb/gdbserver - 5.2 or 5.3 CVS (same behaviour)
linux         - 2.4.18
gcc           - 2.95.3 or 3.1 (same behaviour)


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2002-11-16  9:23 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-11-03  5:54 software single step Stuart Hughes
2002-11-03 17:22 ` Daniel Jacobowitz
2002-11-11  9:13   ` Stuart Hughes
2002-11-11  9:50     ` Daniel Jacobowitz
     [not found]       ` <3DCFEFA0.539D1767@zee2.com>
2002-11-15  7:09         ` Stuart Hughes
2002-11-15  9:52           ` Robert Schwebel
2002-11-16  1:23             ` Stuart Hughes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox