forked from Imagelibrary/binutils-gdb
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:
@@ -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>
|
2018-11-16 Alan Hayward <alan.hayward@arm.com>
|
||||||
|
|
||||||
PR gdb/22736:
|
PR gdb/22736:
|
||||||
|
|||||||
@@ -57,8 +57,6 @@ public:
|
|||||||
ULONGEST offset, ULONGEST len,
|
ULONGEST offset, ULONGEST len,
|
||||||
ULONGEST *xfered_len) override;
|
ULONGEST *xfered_len) override;
|
||||||
|
|
||||||
const struct target_desc *read_description () override;
|
|
||||||
|
|
||||||
/* Override watchpoint routines. */
|
/* Override watchpoint routines. */
|
||||||
|
|
||||||
/* The IA-64 architecture can step over a watch point (without
|
/* 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.
|
has determined that a hardware watchpoint has indeed been hit.
|
||||||
The CPU will then be able to execute one instruction without
|
The CPU will then be able to execute one instruction without
|
||||||
triggering a watchpoint. */
|
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;
|
int can_use_hw_breakpoint (enum bptype, int, int) override;
|
||||||
bool stopped_by_watchpoint () override;
|
bool stopped_by_watchpoint () override;
|
||||||
@@ -672,8 +670,8 @@ ia64_linux_nat_target::remove_watchpoint (CORE_ADDR addr, int len,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
void
|
||||||
ia64_linux_new_thread (struct lwp_info *lp)
|
ia64_linux_nat_target::low_new_thread (struct lwp_info *lp)
|
||||||
{
|
{
|
||||||
int i, any;
|
int i, any;
|
||||||
|
|
||||||
@@ -719,10 +717,9 @@ ia64_linux_nat_target::stopped_by_watchpoint ()
|
|||||||
return stopped_data_address (&addr);
|
return stopped_data_address (&addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
int
|
||||||
ia64_linux_can_use_hw_breakpoint (struct target_ops *self,
|
ia64_linux_nat_target::can_use_hw_breakpoint (enum bptype type,
|
||||||
enum bptype type,
|
int cnt, int othertype)
|
||||||
int cnt, int othertype)
|
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 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;
|
int remove_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2) override;
|
||||||
bool stopped_by_watchpoint () 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 stopped_data_address (CORE_ADDR *arg0) override;
|
||||||
bool watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, int arg2) 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;
|
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 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;
|
int remove_mask_watchpoint (CORE_ADDR arg0, CORE_ADDR arg1, enum target_hw_bp_type arg2) override;
|
||||||
bool stopped_by_watchpoint () 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 stopped_data_address (CORE_ADDR *arg0) override;
|
||||||
bool watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, int arg2) 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;
|
int region_ok_for_hw_watchpoint (CORE_ADDR arg0, int arg1) override;
|
||||||
@@ -989,27 +989,27 @@ debug_target::stopped_by_watchpoint ()
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
bool
|
||||||
target_ops::have_steppable_watchpoint ()
|
target_ops::have_steppable_watchpoint ()
|
||||||
{
|
{
|
||||||
return this->beneath ()->have_steppable_watchpoint ();
|
return this->beneath ()->have_steppable_watchpoint ();
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
bool
|
||||||
dummy_target::have_steppable_watchpoint ()
|
dummy_target::have_steppable_watchpoint ()
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
bool
|
||||||
debug_target::have_steppable_watchpoint ()
|
debug_target::have_steppable_watchpoint ()
|
||||||
{
|
{
|
||||||
int result;
|
bool result;
|
||||||
fprintf_unfiltered (gdb_stdlog, "-> %s->have_steppable_watchpoint (...)\n", this->beneath ()->shortname ());
|
fprintf_unfiltered (gdb_stdlog, "-> %s->have_steppable_watchpoint (...)\n", this->beneath ()->shortname ());
|
||||||
result = this->beneath ()->have_steppable_watchpoint ();
|
result = this->beneath ()->have_steppable_watchpoint ();
|
||||||
fprintf_unfiltered (gdb_stdlog, "<- %s->have_steppable_watchpoint (", this->beneath ()->shortname ());
|
fprintf_unfiltered (gdb_stdlog, "<- %s->have_steppable_watchpoint (", this->beneath ()->shortname ());
|
||||||
fputs_unfiltered (") = ", gdb_stdlog);
|
fputs_unfiltered (") = ", gdb_stdlog);
|
||||||
target_debug_print_int (result);
|
target_debug_print_bool (result);
|
||||||
fputs_unfiltered ("\n", gdb_stdlog);
|
fputs_unfiltered ("\n", gdb_stdlog);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -554,7 +554,7 @@ struct target_ops
|
|||||||
TARGET_DEFAULT_RETURN (1);
|
TARGET_DEFAULT_RETURN (1);
|
||||||
virtual bool stopped_by_watchpoint ()
|
virtual bool stopped_by_watchpoint ()
|
||||||
TARGET_DEFAULT_RETURN (false);
|
TARGET_DEFAULT_RETURN (false);
|
||||||
virtual int have_steppable_watchpoint ()
|
virtual bool have_steppable_watchpoint ()
|
||||||
TARGET_DEFAULT_RETURN (false);
|
TARGET_DEFAULT_RETURN (false);
|
||||||
virtual bool stopped_data_address (CORE_ADDR *)
|
virtual bool stopped_data_address (CORE_ADDR *)
|
||||||
TARGET_DEFAULT_RETURN (false);
|
TARGET_DEFAULT_RETURN (false);
|
||||||
|
|||||||
Reference in New Issue
Block a user