This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] garbage collect target_decr_pc_after_break


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=527a273ac1b6221cb37f601d211093233afc7aaf

commit 527a273ac1b6221cb37f601d211093233afc7aaf
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 4 20:41:17 2015 +0000

    garbage collect target_decr_pc_after_break
    
    record-btrace was the only target making use of this, and it no longer
    uses it.
    
    gdb/ChangeLog:
    2015-03-04  Pedro Alves  <palves@redhat.com>
    
    	* target.h (struct target_ops) <to_decr_pc_after_break>: Delete.
    	(target_decr_pc_after_break): Delete declaration.
    	* target.c (default_target_decr_pc_after_break)
    	(target_decr_pc_after_break): Delete.
    	* linux-nat.c (check_stopped_by_breakpoint, linux_nat_wait_1): Use
    	gdbarch_decr_pc_after_break instead of target_decr_pc_after_break.
    	* linux-thread-db.c (check_event): Likewise.
    	* infrun.c (adjust_pc_after_break): Likewise.
    	* darwin-nat.c (cancel_breakpoint): Likewise.
    	* aix-thread.c (aix_thread_wait): Likewise.
    	* target-delegates.c: Regenerate.

Diff:
---
 gdb/ChangeLog          | 14 ++++++++++++++
 gdb/aix-thread.c       |  2 +-
 gdb/darwin-nat.c       |  4 ++--
 gdb/infrun.c           |  4 ++--
 gdb/linux-nat.c        |  4 ++--
 gdb/linux-thread-db.c  |  2 +-
 gdb/target-delegates.c | 27 ---------------------------
 gdb/target.c           | 20 --------------------
 gdb/target.h           | 10 ----------
 9 files changed, 22 insertions(+), 65 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1efb944..94ea6ca 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,19 @@
 2015-03-04  Pedro Alves  <palves@redhat.com>
 
+	* target.h (struct target_ops) <to_decr_pc_after_break>: Delete.
+	(target_decr_pc_after_break): Delete declaration.
+	* target.c (default_target_decr_pc_after_break)
+	(target_decr_pc_after_break): Delete.
+	* linux-nat.c (check_stopped_by_breakpoint, linux_nat_wait_1): Use
+	gdbarch_decr_pc_after_break instead of target_decr_pc_after_break.
+	* linux-thread-db.c (check_event): Likewise.
+	* infrun.c (adjust_pc_after_break): Likewise.
+	* darwin-nat.c (cancel_breakpoint): Likewise.
+	* aix-thread.c (aix_thread_wait): Likewise.
+	* target-delegates.c: Regenerate.
+
+2015-03-04  Pedro Alves  <palves@redhat.com>
+
 	* linux-nat.c (save_sigtrap): Check for breakpoints before
 	checking watchpoints.
 	(status_callback) [USE_SIGTRAP_SIGINFO]: Don't check whether a
diff --git a/gdb/aix-thread.c b/gdb/aix-thread.c
index b03716b..e97f793 100644
--- a/gdb/aix-thread.c
+++ b/gdb/aix-thread.c
@@ -1042,7 +1042,7 @@ aix_thread_wait (struct target_ops *ops,
       struct gdbarch *gdbarch = get_regcache_arch (regcache);
 
       if (regcache_read_pc (regcache)
-	  - target_decr_pc_after_break (gdbarch) == pd_brk_addr)
+	  - gdbarch_decr_pc_after_break (gdbarch) == pd_brk_addr)
 	return pd_activate (0);
     }
 
diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c
index 070f307..e1acc05 100644
--- a/gdb/darwin-nat.c
+++ b/gdb/darwin-nat.c
@@ -1058,14 +1058,14 @@ cancel_breakpoint (ptid_t ptid)
   struct gdbarch *gdbarch = get_regcache_arch (regcache);
   CORE_ADDR pc;
 
-  pc = regcache_read_pc (regcache) - target_decr_pc_after_break (gdbarch);
+  pc = regcache_read_pc (regcache) - gdbarch_decr_pc_after_break (gdbarch);
   if (breakpoint_inserted_here_p (get_regcache_aspace (regcache), pc))
     {
       inferior_debug (4, "cancel_breakpoint for thread 0x%x\n",
 		      ptid_get_tid (ptid));
 
       /* Back up the PC if necessary.  */
-      if (target_decr_pc_after_break (gdbarch))
+      if (gdbarch_decr_pc_after_break (gdbarch))
 	regcache_write_pc (regcache, pc);
 
       return 1;
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 8d3a9bf..b8c5d8e 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -3485,7 +3485,7 @@ adjust_pc_after_break (struct execution_control_state *ecs)
   regcache = get_thread_regcache (ecs->ptid);
   gdbarch = get_regcache_arch (regcache);
 
-  decr_pc = target_decr_pc_after_break (gdbarch);
+  decr_pc = gdbarch_decr_pc_after_break (gdbarch);
   if (decr_pc == 0)
     return;
 
@@ -4537,7 +4537,7 @@ handle_signal_stop (struct execution_control_state *ecs)
 	  /* Re-adjust PC to what the program would see if GDB was not
 	     debugging it.  */
 	  regcache = get_thread_regcache (ecs->event_thread->ptid);
-	  decr_pc = target_decr_pc_after_break (gdbarch);
+	  decr_pc = gdbarch_decr_pc_after_break (gdbarch);
 	  if (decr_pc != 0)
 	    {
 	      struct cleanup *old_cleanups = make_cleanup (null_cleanup, NULL);
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index af77df2..4a5a066 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -2685,7 +2685,7 @@ check_stopped_by_breakpoint (struct lwp_info *lp)
 #endif
 
   pc = regcache_read_pc (regcache);
-  sw_bp_pc = pc - target_decr_pc_after_break (gdbarch);
+  sw_bp_pc = pc - gdbarch_decr_pc_after_break (gdbarch);
 
 #if USE_SIGTRAP_SIGINFO
   if (linux_nat_get_siginfo (lp->ptid, &siginfo))
@@ -3460,7 +3460,7 @@ linux_nat_wait_1 (struct target_ops *ops,
     {
       struct regcache *regcache = get_thread_regcache (lp->ptid);
       struct gdbarch *gdbarch = get_regcache_arch (regcache);
-      int decr_pc = target_decr_pc_after_break (gdbarch);
+      int decr_pc = gdbarch_decr_pc_after_break (gdbarch);
 
       if (decr_pc != 0)
 	{
diff --git a/gdb/linux-thread-db.c b/gdb/linux-thread-db.c
index 29b52b3..f7f0d38 100644
--- a/gdb/linux-thread-db.c
+++ b/gdb/linux-thread-db.c
@@ -1439,7 +1439,7 @@ check_event (ptid_t ptid)
   /* Bail out early if we're not at a thread event breakpoint.  */
   stop_pc = regcache_read_pc (regcache);
   if (!target_supports_stopped_by_sw_breakpoint ())
-    stop_pc -= target_decr_pc_after_break (gdbarch);
+    stop_pc -= gdbarch_decr_pc_after_break (gdbarch);
 
   if (stop_pc != info->td_create_bp_addr
       && stop_pc != info->td_death_bp_addr)
diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c
index 1f827f5..0c1309a 100644
--- a/gdb/target-delegates.c
+++ b/gdb/target-delegates.c
@@ -3805,29 +3805,6 @@ debug_get_tailcall_unwinder (struct target_ops *self)
   return result;
 }
 
-static CORE_ADDR
-delegate_decr_pc_after_break (struct target_ops *self, struct gdbarch *arg1)
-{
-  self = self->beneath;
-  return self->to_decr_pc_after_break (self, arg1);
-}
-
-static CORE_ADDR
-debug_decr_pc_after_break (struct target_ops *self, struct gdbarch *arg1)
-{
-  CORE_ADDR result;
-  fprintf_unfiltered (gdb_stdlog, "-> %s->to_decr_pc_after_break (...)\n", debug_target.to_shortname);
-  result = debug_target.to_decr_pc_after_break (&debug_target, arg1);
-  fprintf_unfiltered (gdb_stdlog, "<- %s->to_decr_pc_after_break (", debug_target.to_shortname);
-  target_debug_print_struct_target_ops_p (&debug_target);
-  fputs_unfiltered (", ", gdb_stdlog);
-  target_debug_print_struct_gdbarch_p (arg1);
-  fputs_unfiltered (") = ", gdb_stdlog);
-  target_debug_print_CORE_ADDR (result);
-  fputs_unfiltered ("\n", gdb_stdlog);
-  return result;
-}
-
 static void
 delegate_prepare_to_generate_core (struct target_ops *self)
 {
@@ -4155,8 +4132,6 @@ install_delegators (struct target_ops *ops)
     ops->to_get_unwinder = delegate_get_unwinder;
   if (ops->to_get_tailcall_unwinder == NULL)
     ops->to_get_tailcall_unwinder = delegate_get_tailcall_unwinder;
-  if (ops->to_decr_pc_after_break == NULL)
-    ops->to_decr_pc_after_break = delegate_decr_pc_after_break;
   if (ops->to_prepare_to_generate_core == NULL)
     ops->to_prepare_to_generate_core = delegate_prepare_to_generate_core;
   if (ops->to_done_generating_core == NULL)
@@ -4306,7 +4281,6 @@ install_dummy_methods (struct target_ops *ops)
   ops->to_augmented_libraries_svr4_read = tdefault_augmented_libraries_svr4_read;
   ops->to_get_unwinder = tdefault_get_unwinder;
   ops->to_get_tailcall_unwinder = tdefault_get_tailcall_unwinder;
-  ops->to_decr_pc_after_break = default_target_decr_pc_after_break;
   ops->to_prepare_to_generate_core = tdefault_prepare_to_generate_core;
   ops->to_done_generating_core = tdefault_done_generating_core;
 }
@@ -4454,7 +4428,6 @@ init_debug_target (struct target_ops *ops)
   ops->to_augmented_libraries_svr4_read = debug_augmented_libraries_svr4_read;
   ops->to_get_unwinder = debug_get_unwinder;
   ops->to_get_tailcall_unwinder = debug_get_tailcall_unwinder;
-  ops->to_decr_pc_after_break = debug_decr_pc_after_break;
   ops->to_prepare_to_generate_core = debug_prepare_to_generate_core;
   ops->to_done_generating_core = debug_done_generating_core;
 }
diff --git a/gdb/target.c b/gdb/target.c
index 569c999..d66560a 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -105,9 +105,6 @@ static char *default_pid_to_str (struct target_ops *ops, ptid_t ptid);
 static enum exec_direction_kind default_execution_direction
     (struct target_ops *self);
 
-static CORE_ADDR default_target_decr_pc_after_break (struct target_ops *ops,
-						     struct gdbarch *gdbarch);
-
 static struct target_ops debug_target;
 
 #include "target-delegates.c"
@@ -3572,23 +3569,6 @@ target_get_tailcall_unwinder (void)
   return current_target.to_get_tailcall_unwinder (&current_target);
 }
 
-/* Default implementation of to_decr_pc_after_break.  */
-
-static CORE_ADDR
-default_target_decr_pc_after_break (struct target_ops *ops,
-				    struct gdbarch *gdbarch)
-{
-  return gdbarch_decr_pc_after_break (gdbarch);
-}
-
-/* See target.h.  */
-
-CORE_ADDR
-target_decr_pc_after_break (struct gdbarch *gdbarch)
-{
-  return current_target.to_decr_pc_after_break (&current_target, gdbarch);
-}
-
 /* See target.h.  */
 
 void
diff --git a/gdb/target.h b/gdb/target.h
index a7c2e82..c95e1a4 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -1157,13 +1157,6 @@ struct target_ops
     const struct frame_unwind *(*to_get_tailcall_unwinder) (struct target_ops *self)
       TARGET_DEFAULT_RETURN (NULL);
 
-    /* Return the number of bytes by which the PC needs to be decremented
-       after executing a breakpoint instruction.
-       Defaults to gdbarch_decr_pc_after_break (GDBARCH).  */
-    CORE_ADDR (*to_decr_pc_after_break) (struct target_ops *ops,
-					 struct gdbarch *gdbarch)
-      TARGET_DEFAULT_FUNC (default_target_decr_pc_after_break);
-
     /* Prepare to generate a core file.  */
     void (*to_prepare_to_generate_core) (struct target_ops *)
       TARGET_DEFAULT_IGNORE ();
@@ -2328,9 +2321,6 @@ extern void target_call_history_from (ULONGEST begin, int size, int flags);
 /* See to_call_history_range.  */
 extern void target_call_history_range (ULONGEST begin, ULONGEST end, int flags);
 
-/* See to_decr_pc_after_break.  */
-extern CORE_ADDR target_decr_pc_after_break (struct gdbarch *gdbarch);
-
 /* See to_prepare_to_generate_core.  */
 extern void target_prepare_to_generate_core (void);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]