diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b337fa39aea..b6a692caba3 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,12 @@
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* tracepoint.c (tfile_get_tracepoint_status): Add 'self' argument.
+	* target.h (struct target_ops) <to_get_tracepoint_status>: Add
+	argument.
+	(target_get_tracepoint_status): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_get_tracepoint_status): Add 'self' argument.
+
 2014-02-19  Tom Tromey  <tromey@redhat.com>
 
 	* tracepoint.c (tfile_get_trace_status): Add 'self' argument.
diff --git a/gdb/remote.c b/gdb/remote.c
index 58a6d4b1e92..c5e1b015f98 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -10773,7 +10773,7 @@ remote_get_trace_status (struct target_ops *self, struct trace_status *ts)
 }
 
 static void
-remote_get_tracepoint_status (struct breakpoint *bp,
+remote_get_tracepoint_status (struct target_ops *self, struct breakpoint *bp,
 			      struct uploaded_tp *utp)
 {
   struct remote_state *rs = get_remote_state ();
diff --git a/gdb/target.c b/gdb/target.c
index 1d069b73dff..19c436d281d 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -876,7 +876,8 @@ update_current_target (void)
 	    (int (*) (struct target_ops *, struct trace_status *))
 	    return_minus_one);
   de_fault (to_get_tracepoint_status,
-	    (void (*) (struct breakpoint *, struct uploaded_tp *))
+	    (void (*) (struct target_ops *, struct breakpoint *,
+		       struct uploaded_tp *))
 	    tcomplain);
   de_fault (to_trace_stop,
 	    (void (*) (void))
diff --git a/gdb/target.h b/gdb/target.h
index e5397781478..39591a52345 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -789,7 +789,8 @@ struct target_ops
     /* Get the current status of a tracing run.  */
     int (*to_get_trace_status) (struct target_ops *, struct trace_status *ts);
 
-    void (*to_get_tracepoint_status) (struct breakpoint *tp,
+    void (*to_get_tracepoint_status) (struct target_ops *,
+				      struct breakpoint *tp,
 				      struct uploaded_tp *utp);
 
     /* Stop a trace run.  */
@@ -1812,7 +1813,7 @@ extern char *target_fileio_read_stralloc (const char *filename);
   (*current_target.to_get_trace_status) (&current_target, ts)
 
 #define target_get_tracepoint_status(tp,utp)		\
-  (*current_target.to_get_tracepoint_status) (tp, utp)
+  (*current_target.to_get_tracepoint_status) (&current_target, tp, utp)
 
 #define target_trace_stop() \
   (*current_target.to_trace_stop) ()
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index d20a99e4d50..6698dd6e131 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -4793,7 +4793,8 @@ tfile_get_trace_status (struct target_ops *self, struct trace_status *ts)
 }
 
 static void
-tfile_get_tracepoint_status (struct breakpoint *tp, struct uploaded_tp *utp)
+tfile_get_tracepoint_status (struct target_ops *self,
+			     struct breakpoint *tp, struct uploaded_tp *utp)
 {
   /* Other bits of trace status were collected as part of opening the
      trace files, so nothing to do here.  */