This is the mail archive of the gdb@sourceware.cygnus.com mailing list for the GDB project. See the GDB home page for more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
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