From a283690eb7320dfe4074301c673f6cc3dd21fb11 Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Mon, 10 Feb 2014 15:28:33 +0800 Subject: [PATCH] Let tracefile has_memory and has_all_memory. At present, tfile target thinks it has memory but ctf doesn't. This is an oversight when I added ctf target support. This patch moves the implementations of to_has_all_memory and to_has_memory to upper layer. After this change, both tfile and ctf target think they have memory. gdb: 2014-02-23 Yao Qi * tracefile-tfile.c (tfile_has_all_memory): Remove. (tfile_has_memory): Remove. (init_tfile_ops): Don't set fields to_has_all_memory and to_has_memory of tfile_ops. * tracefile.c (tracefile_has_all_memory): New function. (tracefile_has_memory): New function. (init_tracefile_ops): Initialize fields to_has_all_memory and to_has_memory of 'ops'. --- gdb/ChangeLog | 11 +++++++++++ gdb/tracefile-tfile.c | 14 -------------- gdb/tracefile.c | 18 ++++++++++++++++++ 3 files changed, 29 insertions(+), 14 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a5f4710bac0..d7c33108d79 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,14 @@ +2014-02-23 Yao Qi + + * tracefile-tfile.c (tfile_has_all_memory): Remove. + (tfile_has_memory): Remove. + (init_tfile_ops): Don't set fields to_has_all_memory and + to_has_memory of tfile_ops. + * tracefile.c (tracefile_has_all_memory): New function. + (tracefile_has_memory): New function. + (init_tracefile_ops): Initialize fields to_has_all_memory and + to_has_memory of 'ops'. + 2014-02-23 Yao Qi * ctf.c (ctf_has_stack, ctf_has_registers): Remove. diff --git a/gdb/tracefile-tfile.c b/gdb/tracefile-tfile.c index 2daa560f641..3ef109eb158 100644 --- a/gdb/tracefile-tfile.c +++ b/gdb/tracefile-tfile.c @@ -1012,18 +1012,6 @@ tfile_get_trace_state_variable_value (struct target_ops *self, return found; } -static int -tfile_has_all_memory (struct target_ops *ops) -{ - return 1; -} - -static int -tfile_has_memory (struct target_ops *ops) -{ - return 1; -} - /* Callback for traceframe_walk_blocks. Builds a traceframe_info object for the tfile target's current traceframe. */ @@ -1105,8 +1093,6 @@ init_tfile_ops (void) tfile_ops.to_trace_find = tfile_trace_find; tfile_ops.to_get_trace_state_variable_value = tfile_get_trace_state_variable_value; - tfile_ops.to_has_all_memory = tfile_has_all_memory; - tfile_ops.to_has_memory = tfile_has_memory; tfile_ops.to_traceframe_info = tfile_traceframe_info; } diff --git a/gdb/tracefile.c b/gdb/tracefile.c index 79722901ec5..508f898dfe6 100644 --- a/gdb/tracefile.c +++ b/gdb/tracefile.c @@ -376,6 +376,22 @@ trace_save_ctf (const char *dirname, int target_does_save) do_cleanups (back_to); } +/* This is the implementation of target_ops method to_has_all_memory. */ + +static int +tracefile_has_all_memory (struct target_ops *ops) +{ + return 1; +} + +/* This is the implementation of target_ops method to_has_memory. */ + +static int +tracefile_has_memory (struct target_ops *ops) +{ + return 1; +} + /* This is the implementation of target_ops method to_has_stack. The target has a stack when GDB has already selected one trace frame. */ @@ -424,6 +440,8 @@ init_tracefile_ops (struct target_ops *ops) { ops->to_stratum = process_stratum; ops->to_get_trace_status = tracefile_get_trace_status; + ops->to_has_all_memory = tracefile_has_all_memory; + ops->to_has_memory = tracefile_has_memory; ops->to_has_stack = tracefile_has_stack; ops->to_has_registers = tracefile_has_registers; ops->to_thread_alive = tracefile_thread_alive; -- 2.30.2