RE: Why enforcing sw_breakpoint_from_kind() implementation in GDBserver targets

"Maciej W. Rozycki via Gdb" <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <alpine.LFD.2.21.2006181154170.9519@redsun52.ssa.fujisawa.hgst.com>
Hi Markus,

> > > That's the only kind of breakpoint this architecture supports.  As far as I
> > understand,
> > > the kind is per-target and used to distinguish different kinds of breakpoints
> > supported
> > > by this target.
> > 
> >  From your description I infer you do have different kinds of breakpoints,
> > one (or more?) for each instruction.
> 
> OK, one could view it that way that we have a separate breakpoint instruction
> for each instruction/operand combination.
> 
> I rather view it as a bit inside every instruction.

 Sure, that's fine, especially from the hardware's point of view.  However 
for the purpose of the RSP abstraction I think my alternative point of 
view does make sense.

> > > The points I was trying to make is that we're also using gdbarch breakpoints
> > and that
> > > in order to use z packets, we'd need insert_point() to be able to store shadow
> > copies.
> > > I have not looked into that since gdbarch breakpoints worked for me and would
> > also
> > > allow sharing the code between a native target and gdbserver.
> > 
> >  Why do you need to store any copy in `gdbserver'?  GDB keeps a record of
> > replaced instructions, so you can use it instead.  Just send the original
> > instruction as the breakpoint kind.
> 
> The breakpoint kind would depend on the ISA.  And we'd have a real lot of them.

 Well, that's just one interpretation.  The breakpoint kind is really a 
generic cookie each target is free to give any interpretation to.  There 
is no processing of this data I know of in common GDB or `gdbserver' code.

> I don't think that we'd want to encode the original instruction in the breakpoint
> kind.  That's what the shadow copy inside the breakpoint object is for.

 I thought you wrote you had had to choose not to use `z0'/`Z0' packets 
due to the inability to utilise the breakpoint bits this way.  Maybe I got 
this wrong.

  Maciej
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.