Turn target_have_steppable_watchpoint into function

This changes the object-like macro target_have_steppable_watchpoint
into an inline function.

gdb/ChangeLog
2020-09-28  Tom Tromey  <tom@tromey.com>

	* infrun.c (displaced_step_fixup, thread_still_needs_step_over)
	(handle_signal_stop): Update.
	* procfs.c (procfs_target::insert_watchpoint): Update.
	* target.h (target_have_steppable_watchpoint): Now a function.
This commit is contained in:
Tom Tromey 2020-09-28 19:38:25 -06:00
parent 8a3ecb79b0
commit 9aed480c3a
4 changed files with 16 additions and 6 deletions

View file

@ -1,3 +1,10 @@
2020-09-28 Tom Tromey <tom@tromey.com>
* infrun.c (displaced_step_fixup, thread_still_needs_step_over)
(handle_signal_stop): Update.
* procfs.c (procfs_target::insert_watchpoint): Update.
* target.h (target_have_steppable_watchpoint): Now a function.
2020-09-28 Tom Tromey <tom@tromey.com>
* infrun.c (set_schedlock_func): Update.

View file

@ -1889,7 +1889,7 @@ displaced_step_fixup (thread_info *event_thread, enum gdb_signal signal)
if (signal == GDB_SIGNAL_TRAP
&& !(target_stopped_by_watchpoint ()
&& (gdbarch_have_nonsteppable_watchpoint (displaced->step_gdbarch)
|| target_have_steppable_watchpoint)))
|| target_have_steppable_watchpoint ())))
{
/* Fix up the resulting state. */
gdbarch_displaced_step_fixup (displaced->step_gdbarch,
@ -2811,7 +2811,7 @@ thread_still_needs_step_over (struct thread_info *tp)
what |= STEP_OVER_BREAKPOINT;
if (tp->stepping_over_watchpoint
&& !target_have_steppable_watchpoint)
&& !target_have_steppable_watchpoint ())
what |= STEP_OVER_WATCHPOINT;
return what;
@ -5933,7 +5933,7 @@ handle_signal_stop (struct execution_control_state *ecs)
/* If necessary, step over this watchpoint. We'll be back to display
it in a moment. */
if (stopped_by_watchpoint
&& (target_have_steppable_watchpoint
&& (target_have_steppable_watchpoint ()
|| gdbarch_have_nonsteppable_watchpoint (gdbarch)))
{
/* At this point, we are stopped at an instruction which has

View file

@ -3085,7 +3085,7 @@ procfs_target::insert_watchpoint (CORE_ADDR addr, int len,
enum target_hw_bp_type type,
struct expression *cond)
{
if (!target_have_steppable_watchpoint
if (!target_have_steppable_watchpoint ()
&& !gdbarch_have_nonsteppable_watchpoint (target_gdbarch ()))
/* When a hardware watchpoint fires off the PC will be left at
the instruction following the one which caused the

View file

@ -2009,8 +2009,11 @@ extern gdb::byte_vector target_thread_info_to_thread_handle
/* Non-zero if we have steppable watchpoints */
#define target_have_steppable_watchpoint \
(current_top_target ()->have_steppable_watchpoint ())
static inline bool
target_have_steppable_watchpoint ()
{
return current_top_target ()->have_steppable_watchpoint ();
}
/* Provide defaults for hardware watchpoint functions. */