]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
Call target_can_do_single_step from maybe_software_singlestep
authorTom Tromey <tromey@adacore.com>
Wed, 7 Jun 2023 14:56:03 +0000 (08:56 -0600)
committerTom Tromey <tromey@adacore.com>
Mon, 4 Aug 2025 16:39:20 +0000 (10:39 -0600)
commit14de1447c9c52c1bfc52588f8652836f66ac6c47
treed6bbaa3041c38883a6be7795395d03ca89e61e13
parent595daae3c560483c179b3af8645e1fa12fb5e5dd
Call target_can_do_single_step from maybe_software_singlestep

When the PikeOS osabi sniffer was added, Pedro suggested that a target
could omit stepping from its vCont? reply packet to tell gdb that
software single-step must be used:

https://sourceware.org/legacy-ml/gdb-patches/2018-09/msg00312.html

This patch implements this idea by moving the call to
target_can_do_single_step into maybe_software_singlestep.

I've also removed some FIXME comments from gdbarch_components.py, and
slightly updated the documentation for gdbarch_software_single_step.
I think these comments are somewhat obsolete now that
target_can_do_single_step exists -- the current approach isn't exactly
what the comments intended, but on the other hand, it exists and
works.

Following review comments from Andrew, this version changes
record-full to use maybe_software_singlestep, and then combines
maybe_software_singlestep with insert_single_step_breakpoint.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=28440
gdb/arm-linux-tdep.c
gdb/breakpoint.c
gdb/breakpoint.h
gdb/gdbarch-gen.h
gdb/gdbarch_components.py
gdb/infrun.c
gdb/record-full.c