Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* RE: hardware support for gdb?
@ 2004-02-17  5:12 Atul Talesara
  0 siblings, 0 replies; 11+ messages in thread
From: Atul Talesara @ 2004-02-17  5:12 UTC (permalink / raw)
  To: mohanlal jangir; +Cc: gdb

Please see inline ...

> -----Original Message-----
> From: gdb-owner@sources.redhat.com
[mailto:gdb-owner@sources.redhat.com]
> On Behalf Of mohanlal jangir
> Sent: Tuesday, February 17, 2004 10:16 AM
> To: Andrew Cagney
> Cc: gdb@sources.redhat.com
> Subject: Re: hardware support for gdb?
> 
> > >
> > > Really!! Does even single stepping also not require any hardware
> support?
> >
> > I'm not sure what you mean by hardware support.  The instruction set
> > architecture needs to provide a breakpoint instruction.  A
single-step
> > mechanism is useful but not an absolute requirement - GDB can use
> > software singlestep (although I suspect that code has bitrotten).
> >
> > Andrew
> >
> 
> Thanks Andrew for your prompt replies. I was reading an article on
"how
> gdb
> works". This is a paragraph from that:
> 
> The Remote Serial Protocol's step command is a bit more challenging,
> especially when the target processor doesn't provide a "trace bit" or
> similar functionality (For example, Motorola 683xx processors contain
the
> ability to trap on instruction execution and/or changes in program
flow;
> this feature is controlled by the "trace enable" bits, T1 and T0, in
the
> processor's status register). In these cases, the only alternative is
for
> the stub to disassemble the instruction about to be executed so that
it
> can
> determine where the program is going to go next.
> 
> What I understood from this paragraph is that, if a target processor
> provide
> "trace bit" kind of functionality, gdb developer's life is easier
> otherwise
> he has to do some more work(disassembling of instruction). Am I right?
You are right :-)

> Could
> you please explain a little about "trace bit" or similar
functionality? 

[Atul Talesara] Trace bit is a special bit in one of the control
registers
of the processor which instructs processor to generate a "debug
exception"
after executing every instruction, thus transferring control to the
debug
exception handler (debugger/stub, in our case); essentially allowing to
single step through the code.  Now, when this functionality is not
available
in the processor, debugger has to put a BREAK instruction AFTER the
current
instruction, so that after execution of that instruction processor
generates
an exception, transferring control to debugger/stub, thus emulating a
single
step. Debugger now replaces this BREAK with the original instruction and
puts a BREAK again AFTER this instruction.  And keeps doing this until
user
wants to "single-step".  Now, because of the branch instructions,
guessing
the next instruction becomes a non-trivial issue (requiring you to
disassemble instructions to get the destination addresses), and also
complicates the process of restoring original instructions.  This is
what is
called as single step in software.  If you are curious to look at the
code
that does this, then skim through:
/linux-2.4/arch/mips/kernel/gdb-stub.c
Hope this answers your question.

>  Is
> it the breakpoint instruction, you mentioned about?
> 
> Regards
> Mohanlal


Thanks and Regards,
Atul P Talesara
------------------------------------------------------------------
     The Self as a different entity, an object, is what
       people are trying to see.  That is an illusion.
                                                         -Sri Sri
------------------------------------------------------------------


^ permalink raw reply	[flat|nested] 11+ messages in thread
* hardware support for gdb?
@ 2004-02-13 10:47 mohanlal jangir
  2004-02-13 14:55 ` Andrew Cagney
  0 siblings, 1 reply; 11+ messages in thread
From: mohanlal jangir @ 2004-02-13 10:47 UTC (permalink / raw)
  To: gdb

I have an ARM board which comes with its own boot monitor, which just brings
up the board. I download RedBoot to bring the target up as well as to
connect with gdb. My question is, what is minimal support required from a
target hardware so that an application like RedBoot can work on it to
connect with gdb and provide debugging.

Regards
Mohanlal


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

end of thread, other threads:[~2004-02-18 16:51 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-02-17  5:12 hardware support for gdb? Atul Talesara
  -- strict thread matches above, loose matches on Subject: below --
2004-02-13 10:47 mohanlal jangir
2004-02-13 14:55 ` Andrew Cagney
2004-02-16  4:06   ` mohanlal jangir
2004-02-16 23:33     ` Andrew Cagney
2004-02-17  4:49       ` mohanlal jangir
2004-02-17 13:56         ` Bill Gatliff
2004-02-17 20:04           ` Vijay Kamarshi
2004-02-18 14:25             ` Bill Gatliff
2004-02-18 16:51               ` Vijay Kamarshi
2004-02-17 15:12         ` Peter Barada

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