Add target_ops argument to to_read_btrace

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.
This commit is contained in:
Tom Tromey
2013-12-17 21:46:13 -07:00
parent 1777056d68
commit 39c49f83b6
6 changed files with 36 additions and 5 deletions

View File

@ -1,3 +1,14 @@
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> 2014-02-19 Tom Tromey <tromey@redhat.com>
* target.h (struct target_ops) <to_teardown_btrace>: Add argument. * target.h (struct target_ops) <to_teardown_btrace>: Add argument.

View File

@ -1191,6 +1191,15 @@ amd64_linux_teardown_btrace (struct target_ops *self,
linux_disable_btrace (tinfo); 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. */ /* Provide a prototype to silence -Wmissing-prototypes. */
void _initialize_amd64_linux_nat (void); void _initialize_amd64_linux_nat (void);
@ -1234,7 +1243,7 @@ _initialize_amd64_linux_nat (void)
t->to_enable_btrace = amd64_linux_enable_btrace; t->to_enable_btrace = amd64_linux_enable_btrace;
t->to_disable_btrace = amd64_linux_disable_btrace; t->to_disable_btrace = amd64_linux_disable_btrace;
t->to_teardown_btrace = amd64_linux_teardown_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. */ /* Register the target. */
linux_nat_add_target (t); linux_nat_add_target (t);

View File

@ -1102,6 +1102,15 @@ i386_linux_teardown_btrace (struct target_ops *self,
linux_disable_btrace (tinfo); 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 */ /* -Wmissing-prototypes */
extern initialize_file_ftype _initialize_i386_linux_nat; extern initialize_file_ftype _initialize_i386_linux_nat;
@ -1140,7 +1149,7 @@ _initialize_i386_linux_nat (void)
t->to_enable_btrace = i386_linux_enable_btrace; t->to_enable_btrace = i386_linux_enable_btrace;
t->to_disable_btrace = i386_linux_disable_btrace; t->to_disable_btrace = i386_linux_disable_btrace;
t->to_teardown_btrace = i386_linux_teardown_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. */ /* Register the target. */
linux_nat_add_target (t); linux_nat_add_target (t);

View File

@ -11322,7 +11322,8 @@ remote_teardown_btrace (struct target_ops *self,
/* Read the branch trace. */ /* Read the branch trace. */
static enum btrace_error 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, struct btrace_target_info *tinfo,
enum btrace_read_type type) enum btrace_read_type type)
{ {

View File

@ -4250,7 +4250,7 @@ target_read_btrace (VEC (btrace_block_s) **btrace,
for (t = current_target.beneath; t != NULL; t = t->beneath) for (t = current_target.beneath; t != NULL; t = t->beneath)
if (t->to_read_btrace != NULL) if (t->to_read_btrace != NULL)
return t->to_read_btrace (btrace, btinfo, type); return t->to_read_btrace (t, btrace, btinfo, type);
tcomplain (); tcomplain ();
return BTRACE_ERR_NOT_SUPPORTED; return BTRACE_ERR_NOT_SUPPORTED;

View File

@ -921,7 +921,8 @@ struct target_ops
DATA is cleared before new trace is added. DATA is cleared before new trace is added.
The branch trace will start with the most recent block and continue The branch trace will start with the most recent block and continue
towards older blocks. */ 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, struct btrace_target_info *btinfo,
enum btrace_read_type type); enum btrace_read_type type);