diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0d53cdb6d7c..b625897d6ea 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,11 @@
+2014-02-19  Tom Tromey  <tromey@redhat.com>
+
+	* target.h (struct target_ops) <to_get_raw_trace_data>: Add
+	argument.
+	(target_get_raw_trace_data): Add argument.
+	* target.c (update_current_target): Update.
+	* remote.c (remote_get_raw_trace_data): Add 'self' argument.
+
 2014-02-19  Tom Tromey  <tromey@redhat.com>
 
 	* target.h (struct target_ops) <to_upload_trace_state_variables>:
diff --git a/gdb/remote.c b/gdb/remote.c
index 869a320c829..d5ce8c18aac 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -10968,7 +10968,8 @@ remote_save_trace_data (struct target_ops *self, const char *filename)
    not be unhappy if we don't get as much as we ask for.  */
 
 static LONGEST
-remote_get_raw_trace_data (gdb_byte *buf, ULONGEST offset, LONGEST len)
+remote_get_raw_trace_data (struct target_ops *self,
+			   gdb_byte *buf, ULONGEST offset, LONGEST len)
 {
   struct remote_state *rs = get_remote_state ();
   char *reply;
diff --git a/gdb/target.c b/gdb/target.c
index ab596dcbdff..c7e6f3e7d1a 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -899,7 +899,7 @@ update_current_target (void)
 	    (int (*) (struct target_ops *, struct uploaded_tsv **))
 	    return_zero);
   de_fault (to_get_raw_trace_data,
-	    (LONGEST (*) (gdb_byte *, ULONGEST, LONGEST))
+	    (LONGEST (*) (struct target_ops *, gdb_byte *, ULONGEST, LONGEST))
 	    tcomplain);
   de_fault (to_get_min_fast_tracepoint_insn_len,
 	    (int (*) (void))
diff --git a/gdb/target.h b/gdb/target.h
index d4b539bd821..18bb852b613 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -819,7 +819,7 @@ struct target_ops
     int (*to_upload_trace_state_variables) (struct target_ops *,
 					    struct uploaded_tsv **utsvp);
 
-    LONGEST (*to_get_raw_trace_data) (gdb_byte *buf,
+    LONGEST (*to_get_raw_trace_data) (struct target_ops *, gdb_byte *buf,
 				      ULONGEST offset, LONGEST len);
 
     /* Get the minimum length of instruction on which a fast tracepoint
@@ -1840,7 +1840,8 @@ extern char *target_fileio_read_stralloc (const char *filename);
   (*current_target.to_upload_trace_state_variables) (&current_target, utsvp)
 
 #define target_get_raw_trace_data(buf,offset,len) \
-  (*current_target.to_get_raw_trace_data) ((buf), (offset), (len))
+  (*current_target.to_get_raw_trace_data) (&current_target,	\
+					   (buf), (offset), (len))
 
 #define target_get_min_fast_tracepoint_insn_len() \
   (*current_target.to_get_min_fast_tracepoint_insn_len) ()