From c2a6c5da37c0135acdb859ca819870980db69b77 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 14 Nov 2018 09:29:51 -0700 Subject: [PATCH] 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 PR build/23814: * target-delegates.c: Rebuild. * ia64-linux-nat.c (class ia64_linux_nat_target) : 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) : Don't declare. * target.h (struct target_ops) : Return bool. --- gdb/ChangeLog | 13 +++++++++++++ gdb/ia64-linux-nat.c | 15 ++++++--------- gdb/target-delegates.c | 14 +++++++------- gdb/target.h | 2 +- 4 files changed, 27 insertions(+), 17 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4995d55..b6b03f2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,16 @@ +2018-11-18 Tom Tromey + + PR build/23814: + * target-delegates.c: Rebuild. + * ia64-linux-nat.c (class ia64_linux_nat_target) + : 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) : Don't declare. + * target.h (struct target_ops) : Return + bool. + 2018-11-16 Alan Hayward PR gdb/22736: diff --git a/gdb/ia64-linux-nat.c b/gdb/ia64-linux-nat.c index 1d39ec5..54f76b9 100644 --- a/gdb/ia64-linux-nat.c +++ b/gdb/ia64-linux-nat.c @@ -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; } diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c index 03136df..eeb5057 100644 --- a/gdb/target-delegates.c +++ b/gdb/target-delegates.c @@ -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; } diff --git a/gdb/target.h b/gdb/target.h index 6f4b73b..4731e3b 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -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); -- 2.7.4