Fix ia64-linux-nat.c

PR build/23814 points out that ia64-linux-nat.c will not compile any
more.  This patch fixes the problem.  Thanks to Andreas Schwab for
trying the patch.

gdb/ChangeLog
2018-11-18  Tom Tromey  <tom@tromey.com>

	PR build/23814:
	* target-delegates.c: Rebuild.
	* ia64-linux-nat.c (class ia64_linux_nat_target)
	<have_steppable_watchpoint>: Use override.  Return true, not 1.
	(ia64_linux_nat_target::can_use_hw_breakpoint): Rename.  Remove
	"self" argument.
	(ia64_linux_nat_target::low_new_thread): Rename.
	(class ia64_linux_nat_target) <read_description>: Don't declare.
	* target.h (struct target_ops) <have_steppable_watchpoint>: Return
	bool.
This commit is contained in:
Tom Tromey 2018-11-14 09:29:51 -07:00
parent ad6d89178d
commit c2a6c5da37
4 changed files with 27 additions and 17 deletions

View File

@ -1,3 +1,16 @@
2018-11-18 Tom Tromey <tom@tromey.com>
PR build/23814:
* target-delegates.c: Rebuild.
* ia64-linux-nat.c (class ia64_linux_nat_target)
<have_steppable_watchpoint>: Use override. Return true, not 1.
(ia64_linux_nat_target::can_use_hw_breakpoint): Rename. Remove
"self" argument.
(ia64_linux_nat_target::low_new_thread): Rename.
(class ia64_linux_nat_target) <read_description>: Don't declare.
* target.h (struct target_ops) <have_steppable_watchpoint>: Return
bool.
2018-11-16 Alan Hayward <alan.hayward@arm.com>
PR gdb/22736:

View File

@ -57,8 +57,6 @@ public:
ULONGEST offset, ULONGEST len,
ULONGEST *xfered_len) override;
const struct target_desc *read_description () override;
/* Override watchpoint routines. */
/* The IA-64 architecture can step over a watch point (without
@ -70,7 +68,7 @@ public:
has determined that a hardware watchpoint has indeed been hit.
The CPU will then be able to execute one instruction without
triggering a watchpoint. */
bool have_steppable_watchpoint () { return 1; }
bool have_steppable_watchpoint () override { return true; }
int can_use_hw_breakpoint (enum bptype, int, int) override;
bool stopped_by_watchpoint () override;
@ -672,8 +670,8 @@ ia64_linux_nat_target::remove_watchpoint (CORE_ADDR addr, int len,
return -1;
}
static void
ia64_linux_new_thread (struct lwp_info *lp)
void
ia64_linux_nat_target::low_new_thread (struct lwp_info *lp)
{
int i, any;
@ -719,10 +717,9 @@ ia64_linux_nat_target::stopped_by_watchpoint ()
return stopped_data_address (&addr);
}
static int
ia64_linux_can_use_hw_breakpoint (struct target_ops *self,
enum bptype type,
int cnt, int othertype)
int
ia64_linux_nat_target::can_use_hw_breakpoint (enum bptype type,
int cnt, int othertype)
{
return 1;
}

View File

@ -35,7 +35,7 @@ struct dummy_target : public target_ops
int insert_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2) override;
int remove_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2) override;
bool stopped_by_watchpoint () override;
int have_steppable_watchpoint () override;
bool have_steppable_watchpoint () override;
bool stopped_data_address (CORE_ADDR *arg0) override;
bool watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, int arg2) override;
int region_ok_for_hw_watchpoint (CORE_ADDR arg0, int arg1) override;
@ -202,7 +202,7 @@ struct debug_target : public target_ops
int insert_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2) override;
int remove_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2) override;
bool stopped_by_watchpoint () override;
int have_steppable_watchpoint () override;
bool have_steppable_watchpoint () override;
bool stopped_data_address (CORE_ADDR *arg0) override;
bool watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, int arg2) override;
int region_ok_for_hw_watchpoint (CORE_ADDR arg0, int arg1) override;
@ -989,27 +989,27 @@ debug_target::stopped_by_watchpoint ()
return result;
}
int
bool
target_ops::have_steppable_watchpoint ()
{
return this->beneath ()->have_steppable_watchpoint ();
}
int
bool
dummy_target::have_steppable_watchpoint ()
{
return false;
}
int
bool
debug_target::have_steppable_watchpoint ()
{
int result;
bool result;
fprintf_unfiltered (gdb_stdlog, "-> %s->have_steppable_watchpoint (...)\n", this->beneath ()->shortname ());
result = this->beneath ()->have_steppable_watchpoint ();
fprintf_unfiltered (gdb_stdlog, "<- %s->have_steppable_watchpoint (", this->beneath ()->shortname ());
fputs_unfiltered (") = ", gdb_stdlog);
target_debug_print_int (result);
target_debug_print_bool (result);
fputs_unfiltered ("\n", gdb_stdlog);
return result;
}

View File

@ -554,7 +554,7 @@ struct target_ops
TARGET_DEFAULT_RETURN (1);
virtual bool stopped_by_watchpoint ()
TARGET_DEFAULT_RETURN (false);
virtual int have_steppable_watchpoint ()
virtual bool have_steppable_watchpoint ()
TARGET_DEFAULT_RETURN (false);
virtual bool stopped_data_address (CORE_ADDR *)
TARGET_DEFAULT_RETURN (false);