From: Yao Qi <yao@codesourcery.com>
To: <gdb-patches@sourceware.org>
Cc: <marc.khouzam@ericsson.com>
Subject: [PATCH 1/2] Create inferior for tfile target
Date: Thu, 30 Jan 2014 05:46:00 -0000 [thread overview]
Message-ID: <1391060652-10870-2-git-send-email-yao@codesourcery.com> (raw)
In-Reply-To: <1391060652-10870-1-git-send-email-yao@codesourcery.com>
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-01-30 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-01-30 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.
---
gdb/testsuite/gdb.trace/tfile.exp | 3 ---
gdb/tracepoint.c | 19 +++++++++++++++++++
2 files changed, 19 insertions(+), 3 deletions(-)
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;
}
--
1.7.7.6
next prev parent reply other threads:[~2014-01-30 5:46 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-30 5:46 [PATCH 0/2] Create inferior fro trace file target Yao Qi
2014-01-30 5:46 ` Yao Qi [this message]
2014-01-30 5:47 ` [PATCH 2/2] Create inferior for ctf target Yao Qi
2014-01-30 19:21 ` [PATCH 0/2] Create inferior fro trace file target Marc Khouzam
2014-02-05 12:54 ` Yao Qi
2014-02-04 20:57 ` Pedro Alves
2014-02-04 21:08 ` Marc Khouzam
2014-02-04 21:17 ` Pedro Alves
2014-02-05 2:05 ` Joel Brobecker
2014-02-05 12:17 ` Yao Qi
2014-02-05 12:24 ` Joel Brobecker
2014-02-05 12:31 ` Pedro Alves
2014-02-05 12:42 ` Mark Kettenis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1391060652-10870-2-git-send-email-yao@codesourcery.com \
--to=yao@codesourcery.com \
--cc=gdb-patches@sourceware.org \
--cc=marc.khouzam@ericsson.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox