generic remote support for arm-aout
Stan Shebs
shebs@cygnus.com
Sat Nov 21 12:46:00 GMT 1998
Date: Thu, 19 Nov 98 15:51:22 EDT
From: "steve longerbeam" <stevel@communicom.net>
I've added code to gdb 4.17 to support a remote arm-aout
using gdb's generic remote protocol (not RDI or RDP).
I've implemented an arm-stub.c with the same level of
remote command support as the sparc and i386 stubs.
Cool, I'd love to get it added to GDB!
Also, since the ARM architecture doesn't support
h/w single stepping (or does it?), I've #define'd
NO_SINGLE_STEP in tm-arm.h and added the
following single_step() function to arm-tdep.c:
I'd want to doublecheck that this doesn't interfere with h/w single-step
that's part of adp (rdi) and rdp protocols, but I don't think there's
a problem.
I've got almost everything working reliably, but there is still
the following strange behavior:
- when stepping out of the function foo(), single_step() correctly
calculates the address of the caller just after the call to
foo() (i.e. the instr after "bl _foo"), but then another bp is
set somewhere back inside foo()! (and another continue ('c') command
is given!) The step should have ended when the program reached the
bp at the instr following "bl _foo".
Perhaps there is a cache problem? You're doing a lot of writing into
instruction memory.
- sometimes a nested stack frame chain is corrupted, and only the last
two stack frames are reported by a backtrace.
You might want to look at the 1998-10-29 snapshot - there have been a
few patches to arm support since 4.17, although I didn't see any that
were obvious fixes for this...
Stan
More information about the Gdb
mailing list