diff options
author | Yao Qi <yao@codesourcery.com> | 2014-01-30 08:37:05 +0800 |
---|---|---|
committer | Yao Qi <yao@codesourcery.com> | 2014-02-05 19:35:39 +0800 |
commit | 66d032ac625efa6a68403c4ec318264709a92302 (patch) | |
tree | 25b25464cc811f36cb61fb63c51fabecd9ab1cc4 /gdb | |
parent | ba74cf67e659546e7d6ca3f2f6e125f1940cb089 (diff) | |
download | gdb-66d032ac625efa6a68403c4ec318264709a92302.zip gdb-66d032ac625efa6a68403c4ec318264709a92302.tar.gz gdb-66d032ac625efa6a68403c4ec318264709a92302.tar.bz2 |
Create inferior for tfile target
When a trace file is loaded in Eclipse, it is expected to see thread
and process (=thread-group-started and =thread-created). Create an
inferior and add a thread for this purpose.
This patch just reverts my previous patch.
gdb/testsuite:
2014-02-05 Yao Qi <yao@codesourcery.com>
Revert this patch:
2013-05-24 Yao Qi <yao@codesourcery.com>
* gdb.trace/tfile.exp: Test inferior and thread.
gdb:
2014-02-05 Yao Qi <yao@codesourcery.com>
Revert this patch:
2013-05-24 Yao Qi <yao@codesourcery.com>
* tracepoint.c (TFILE_PID): Remove.
(tfile_open): Don't add thread and inferior.
(tfile_close): Don't set 'inferior_ptid'. Don't call
exit_inferior_silent.
(tfile_thread_alive): Remove.
(init_tfile_ops): Don't set field 'to_thread_alive' of
tfile_ops.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 14 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/tfile.exp | 3 | ||||
-rw-r--r-- | gdb/tracepoint.c | 19 |
4 files changed, 41 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8cd059f..04f4cea 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,17 @@ +2014-02-05 Yao Qi <yao@codesourcery.com> + + Revert this patch: + + 2013-05-24 Yao Qi <yao@codesourcery.com> + + * tracepoint.c (TFILE_PID): Remove. + (tfile_open): Don't add thread and inferior. + (tfile_close): Don't set 'inferior_ptid'. Don't call + exit_inferior_silent. + (tfile_thread_alive): Remove. + (init_tfile_ops): Don't set field 'to_thread_alive' of + tfile_ops. + 2014-02-04 Christian Eggers <ceggers@gmx.de> (tiny change) * remote.c (remote_start_remote): Call remote_check_symbols even diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index a6c5214..74fc0f7 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2014-02-05 Yao Qi <yao@codesourcery.com> + + Revert this patch: + + 2013-05-24 Yao Qi <yao@codesourcery.com> + + * gdb.trace/tfile.exp: Test inferior and thread. + 2014-02-04 Ulrich Weigand <uweigand@de.ibm.com> * gdb.base/sigbpt.exp: Do not use "*" when setting breakpoint diff --git a/gdb/testsuite/gdb.trace/tfile.exp b/gdb/testsuite/gdb.trace/tfile.exp index 35d9c2c..634c2fc 100644 --- a/gdb/testsuite/gdb.trace/tfile.exp +++ b/gdb/testsuite/gdb.trace/tfile.exp @@ -136,9 +136,6 @@ Trace buffer has 256 bytes of 4096 bytes free \\(93% full\\).* Not looking at any trace frame.*" \ "tstatus on error trace file" -gdb_test "info threads" "No threads\..*" -gdb_test "info inferiors" "\\* 1 <null>\[ \t\]+${binfile}.*" - # Make sure we can reopen without error. gdb_test \ "interpreter-exec mi \"-target-select tfile $tfile_basic\"" \ diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c index f3b9bfc..0a50606 100644 --- a/gdb/tracepoint.c +++ b/gdb/tracepoint.c @@ -79,6 +79,8 @@ large. (400 - 31)/2 == 184 */ #define MAX_AGENT_EXPR_LEN 184 +#define TFILE_PID (1) + /* A hook used to notify the UI of tracepoint operations. */ void (*deprecated_trace_find_hook) (char *arg, int from_tty); @@ -4372,6 +4374,10 @@ tfile_open (char *filename, int from_tty) throw_exception (ex); } + inferior_appeared (current_inferior (), TFILE_PID); + inferior_ptid = pid_to_ptid (TFILE_PID); + add_thread_silent (inferior_ptid); + if (ts->traceframe_count <= 0) warning (_("No traceframes present in this file.")); @@ -4382,6 +4388,8 @@ tfile_open (char *filename, int from_tty) merge_uploaded_trace_state_variables (&uploaded_tsvs); merge_uploaded_tracepoints (&uploaded_tps); + + post_create_inferior (&tfile_ops, from_tty); } /* Interpret the given line from the definitions part of the trace @@ -4754,6 +4762,10 @@ tfile_close (void) if (trace_fd < 0) return; + pid = ptid_get_pid (inferior_ptid); + inferior_ptid = null_ptid; /* Avoid confusion from thread stuff. */ + exit_inferior_silent (pid); + close (trace_fd); trace_fd = -1; xfree (trace_filename); @@ -5250,6 +5262,12 @@ tfile_has_registers (struct target_ops *ops) return traceframe_number != -1; } +static int +tfile_thread_alive (struct target_ops *ops, ptid_t ptid) +{ + return 1; +} + /* Callback for traceframe_walk_blocks. Builds a traceframe_info object for the tfile target's current traceframe. */ @@ -5336,6 +5354,7 @@ init_tfile_ops (void) tfile_ops.to_has_stack = tfile_has_stack; tfile_ops.to_has_registers = tfile_has_registers; tfile_ops.to_traceframe_info = tfile_traceframe_info; + tfile_ops.to_thread_alive = tfile_thread_alive; tfile_ops.to_magic = OPS_MAGIC; } |