Z0 packets in remote debugging sessions are for inserting (software) breakpoints. Currently, ARC GDB client inserts a breakpoint by writing the opcodes to memory through GDBserver (see these).
Remarks:
Z0 is the modern way that provides more features (like target-side condition
evaluation) and a memory write is the legacy fallback.
sw_breakpoint_from_kindwould be used if the Z0 packet was used, to translate the kind into an opcode.
The input for sw_breakpoint_from_kind can come from the Z0 packet
The ARC port doesn't implement low_insert_point and low_remove_point. That's probably why it falls back to inserting breakpoint with writing to memory.
Z0
packets in remote debugging sessions are for inserting (software) breakpoints. Currently, ARC GDB client inserts a breakpoint by writing the opcodes to memory through GDBserver (see these).Remarks:
Z0
is the modern way that provides more features (like target-side condition evaluation) and a memory write is the legacy fallback.sw_breakpoint_from_kind
would be used if theZ0
packet was used, to translate the kind into an opcode.sw_breakpoint_from_kind
can come from theZ0
packetlow_insert_point
andlow_remove_point
. That's probably why it falls back to inserting breakpoint with writing to memory.