From: Tom Tromey Date: Sat, 30 Apr 2022 14:06:39 +0000 (-0600) Subject: Move works_in_software_mode to watchpoint X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5a61e176877b17a0fdca25a298d296800353af10;p=binutils-gdb.git Move works_in_software_mode to watchpoint works_in_software_mode is only useful for watchpoints. This patch moves it from breakpoint to watchpoint, and changes it to return bool. --- diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 2521e95ce70..41e827bfca7 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -2144,7 +2144,7 @@ update_watchpoint (struct watchpoint *b, int reparse) = target_can_use_hardware_watchpoint (type, i, other_type_used); if (target_resources_ok <= 0) { - int sw_mode = b->works_in_software_mode (); + bool sw_mode = b->works_in_software_mode (); if (target_resources_ok == 0 && !sw_mode) error (_("Target does not support this type of " @@ -9558,7 +9558,7 @@ watchpoint::resources_needed (const struct bp_location *bl) /* Implement the "works_in_software_mode" method for hardware watchpoints. */ -int +bool watchpoint::works_in_software_mode () const { /* Read and access watchpoints only work with hardware support. */ @@ -9733,7 +9733,7 @@ struct masked_watchpoint : public watchpoint int remove_location (struct bp_location *, enum remove_bp_reason reason) override; int resources_needed (const struct bp_location *) override; - int works_in_software_mode () const override; + bool works_in_software_mode () const override; enum print_stop_action print_it (struct bpstat *bs) override; void print_one_detail (struct ui_out *) const override; void print_mention () override; @@ -9771,10 +9771,10 @@ masked_watchpoint::resources_needed (const struct bp_location *bl) /* Implement the "works_in_software_mode" method for masked hardware watchpoints. */ -int +bool masked_watchpoint::works_in_software_mode () const { - return 0; + return false; } /* Implement the "print_it" method for masked hardware @@ -11550,12 +11550,6 @@ breakpoint::breakpoint_hit (const struct bp_location *bl, internal_error_pure_virtual_called (); } -int -breakpoint::works_in_software_mode () const -{ - internal_error_pure_virtual_called (); -} - int breakpoint::resources_needed (const struct bp_location *bl) { diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index ec3a8309b51..bbacbca15fb 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -668,11 +668,6 @@ struct breakpoint the breakpoint or watchpoint needs one debug register. */ virtual int resources_needed (const struct bp_location *); - /* Tell whether we can downgrade from a hardware watchpoint to a software - one. If not, the user will not be able to enable the watchpoint when - there are not enough hardware resources available. */ - virtual int works_in_software_mode () const; - /* The normal print routine for this breakpoint, called when we hit it. */ virtual enum print_stop_action print_it (struct bpstat *bs); @@ -878,7 +873,12 @@ struct watchpoint : public breakpoint const target_waitstatus &ws) override; void check_status (struct bpstat *bs) override; int resources_needed (const struct bp_location *) override; - int works_in_software_mode () const override; + + /* Tell whether we can downgrade from a hardware watchpoint to a software + one. If not, the user will not be able to enable the watchpoint when + there are not enough hardware resources available. */ + virtual bool works_in_software_mode () const; + enum print_stop_action print_it (struct bpstat *bs) override; void print_mention () override; void print_recreate (struct ui_file *fp) override;