gdb: remove gdbarch_displaced_step_fixup_p
authorAndrew Burgess <aburgess@redhat.com>
Wed, 22 Feb 2023 17:13:07 +0000 (17:13 +0000)
committerAndrew Burgess <aburgess@redhat.com>
Wed, 22 Mar 2023 21:18:44 +0000 (21:18 +0000)
commit4144571254685a89f57b3b0f602c5a9d4bc20a3c
tree2d3b5e13103650b26e5cd856ede21d6c5e30525d
parent52ec426b5eb6a323d61a5049fd46a6117eecc6f5
gdb: remove gdbarch_displaced_step_fixup_p

The comment on the gdbarch_displaced_step_fixup gdbarch method
indicates that this method is optional and that GDB will perform some
default if this method is not supplied.  As such we define a predicate
gdbarch_displaced_step_fixup_p.

It may have been true at one point that the fixup method was optional,
but it is no longer true.  If this method is not defined and GDB tries
to complete a displaced step, then GDB is going to crash.

Additionally the gdbarch_displaced_step_fixup_p predicate is not used
anywhere in GDB.

In this commit I have removed the gdbarch_displaced_step_fixup_p
predicate, and I have updated the validation check for the
gdbarch_displaced_step_fixup method; if the
gdbarch_displaced_step_copy_insn method is defined then the fixup
method must also be defined.

I believe I've manually checked all the current places where
gdbarch_displaced_step_copy_insn is defined and they all also define
the fixup method, so this change should cause no problems for anyone.

There should be no user visible changes after this commit.

Approved-By: Pedro Alves <pedro@palves.net>
gdb/gdbarch-gen.h
gdb/gdbarch.c
gdb/gdbarch_components.py