This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Remote stub can't single-step, how to tell GDB?
- From: Daniel Jacobowitz <drow at false dot org>
- To: Deepak Saxena <dsaxena at plexity dot net>
- Cc: gdb at sources dot redhat dot com
- Date: Thu, 12 Aug 2004 18:36:29 -0400
- Subject: Re: Remote stub can't single-step, how to tell GDB?
- References: <20040812214958.GA6063@plexity.net>
On Thu, Aug 12, 2004 at 02:49:58PM -0700, Deepak Saxena wrote:
>
> Hello,
>
> I am working on porting the existing ARM KGDB stub into the
> grand-unified-kgdb project (http://kgdb.sf.net) and am looking
> for some info on how to cleanup our single-step handling. For
> the existing stub we basically took the get_next_pc() code
> from gdb and put it in the kgdb-stub so that we can execute
> single-steps in the stub itself. When we receive an 's' command,
> we call get_next_pc() and stuff the breakpoint at that address.
> IMHO, having this in the kernel is overkill and skimming the gdb src,
> I am guessing there is away to just force the user's client to do this,
> but I am not sure how. In arm-tdep.c, I see the following comment that
> makes me wonder if right now I have no choice but handle single-step
> in the kernel stub:
>
> /* Single stepping. */
> /* XXX For an RDI target we should ask the target if it can single-step. */
> set_gdbarch_software_single_step (gdbarch, arm_software_single_step);
>
> Any pointers appreciated.
Hi Deepak :-)
Does GDB currently send single-step packets to the kgdb stub? What
version of GDB are you using? The call to set_gdbarch_software_single_step
sets up software (client-GDB-controlled) single stepping, and it should
not ask the stub to do so.
[GDB's handling of target capabilities in this area is a bit shoddy.
But here it looks like the default matches what you want anyway.]
--
Daniel Jacobowitz