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>
This commit is contained in:
parent
52ec426b5e
commit
4144571254
3 changed files with 4 additions and 15 deletions
|
@ -1796,8 +1796,9 @@ see the comments in infrun.c.
|
|||
("CORE_ADDR", "to"),
|
||||
("struct regcache *", "regs"),
|
||||
],
|
||||
predicate=True,
|
||||
predicate=False,
|
||||
predefault="NULL",
|
||||
invalid="(gdbarch->displaced_step_copy_insn == nullptr) != (gdbarch->displaced_step_fixup == nullptr)",
|
||||
)
|
||||
|
||||
Method(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue