+2014-02-19 Tom Tromey <tromey@redhat.com>
+
+ * target.h (struct target_ops) <to_read_btrace>: Add argument.
+ * target.c (struct target_ops) <to_read_btrace>: Add argument.
+ * remote.c (struct target_ops) <to_read_btrace>: Add 'self'
+ argument.
+ * amd64-linux-nat.c (amd64_linux_read_btrace): New function.
+ (_initialize_amd64_linux_nat): Use it.
+ * i386-linux-nat.c (i386_linux_read_btrace): New function.
+ (_initialize_i386_linux_nat): Use it.
+
2014-02-19 Tom Tromey <tromey@redhat.com>
* target.h (struct target_ops) <to_teardown_btrace>: Add argument.
linux_disable_btrace (tinfo);
}
+static enum btrace_error
+amd64_linux_read_btrace (struct target_ops *self,
+ VEC (btrace_block_s) **data,
+ struct btrace_target_info *btinfo,
+ enum btrace_read_type type)
+{
+ return linux_read_btrace (data, btinfo, type);
+}
+
/* Provide a prototype to silence -Wmissing-prototypes. */
void _initialize_amd64_linux_nat (void);
t->to_enable_btrace = amd64_linux_enable_btrace;
t->to_disable_btrace = amd64_linux_disable_btrace;
t->to_teardown_btrace = amd64_linux_teardown_btrace;
- t->to_read_btrace = linux_read_btrace;
+ t->to_read_btrace = amd64_linux_read_btrace;
/* Register the target. */
linux_nat_add_target (t);
linux_disable_btrace (tinfo);
}
+static enum btrace_error
+i386_linux_read_btrace (struct target_ops *self,
+ VEC (btrace_block_s) **data,
+ struct btrace_target_info *btinfo,
+ enum btrace_read_type type)
+{
+ return linux_read_btrace (data, btinfo, type);
+}
+
/* -Wmissing-prototypes */
extern initialize_file_ftype _initialize_i386_linux_nat;
t->to_enable_btrace = i386_linux_enable_btrace;
t->to_disable_btrace = i386_linux_disable_btrace;
t->to_teardown_btrace = i386_linux_teardown_btrace;
- t->to_read_btrace = linux_read_btrace;
+ t->to_read_btrace = i386_linux_read_btrace;
/* Register the target. */
linux_nat_add_target (t);
/* Read the branch trace. */
static enum btrace_error
-remote_read_btrace (VEC (btrace_block_s) **btrace,
+remote_read_btrace (struct target_ops *self,
+ VEC (btrace_block_s) **btrace,
struct btrace_target_info *tinfo,
enum btrace_read_type type)
{
for (t = current_target.beneath; t != NULL; t = t->beneath)
if (t->to_read_btrace != NULL)
- return t->to_read_btrace (btrace, btinfo, type);
+ return t->to_read_btrace (t, btrace, btinfo, type);
tcomplain ();
return BTRACE_ERR_NOT_SUPPORTED;
DATA is cleared before new trace is added.
The branch trace will start with the most recent block and continue
towards older blocks. */
- enum btrace_error (*to_read_btrace) (VEC (btrace_block_s) **data,
+ enum btrace_error (*to_read_btrace) (struct target_ops *self,
+ VEC (btrace_block_s) **data,
struct btrace_target_info *btinfo,
enum btrace_read_type type);