gdb: don't require displaced step copy_insn to be implemented in prepare/finish are
authorSimon Marchi <simon.marchi@efficios.com>
Tue, 7 Apr 2020 15:01:38 +0000 (11:01 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Wed, 8 Jul 2020 18:19:09 +0000 (14:19 -0400)
commitab994d4aaa1c3b39bf407a5ae0650fce075bc816
tree39892ea9a973d2e8f7835ecd3c8356c51111164f
parent768e1fd22bae40cbd7a0b3a1bb68aa10e709d75d
gdb: don't require displaced step copy_insn to be implemented in prepare/finish are

The gdbarch verification currently requires that the gdbarch
displaced_step_prepare and displaced_step_finish methods are provided if
displaced_step_copy_insn is (and not provided if it isn't).

displaced_step_copy_insn is used by the
multiple_displaced_buffer_manager class, but a gdbarch could very well
decide to implement prepare and finish without that, and without
requiring copy_insn.

Remove the dependency in the gdbarch verification between prepare/finish
and copy_insn.  Now, prepare and finish must be both provided or both
not-provided.

Since multiple_displaced_buffer_manager uses the `copy_insn` and `fixup`
gdbarch methods, it now asserts that they are present for the thread
architecture in its `prepare` method.
gdb/displaced-stepping.c
gdb/gdbarch.c
gdb/gdbarch.h
gdb/gdbarch.sh
gdb/infrun.c
This page took 0.024154 seconds and 4 git commands to generate.