RE: Why enforcing sw_breakpoint_from_kind() implementation in GDBserver targets

Metzger, Markus T
2020-06-18T08:11:15Z

Hello Maciej,

> > > Note that this would only concern GDBserver, other server implementations
> > > of the remote protocol are free to support Z0 or not. But we could decide
> > > that all GDBserver ports have to support it.
> >
> > The Intel Graphics architecture uses breakpoint bits inside instructions. There
> > is no single breakpoint opcode as there is INT3 on IA, for example.
> >
> > The breakpoint can be ignored one time, which allows stepping over
> breakpoints
> > without having to remove them. This obviously only works if the breakpoint bit
> > in the original instruction is set and the instruction is not replaced with a fixed
> > breakpoint pattern.
>
> Hmm, it seems to me like a use case for the breakpoint kind.

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.

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.

Markus.
Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Gary Kershaw
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928