This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] store trace default-collect to target [1/6] target, trace and remote


On 04/11/2013 02:16 PM, Hui Zhu wrote:
--- a/remote.c
+++ b/remote.c
@@ -215,6 +215,8 @@ static int remote_get_trace_status (stru
  static int remote_upload_tracepoints (struct uploaded_tp **utpp);

  static int remote_upload_trace_state_variables (struct uploaded_tsv **utsvp);
+
+static void remote_upload_trace_default_collest (char **collectp);
                                           ^^^^^^^ typo "collect"


  static void remote_query_supported (void);

@@ -3567,6 +3569,7 @@ remote_start_remote (int from_tty, struc
      {
        struct uploaded_tp *uploaded_tps = NULL;
        struct uploaded_tsv *uploaded_tsvs = NULL;
+      char *uploaded_default_collest = NULL;
                                ^^^^^^^ typo.


        if (current_trace_status ()->running)
  	printf_filtered (_("Trace is already running on the target.\n"));
@@ -3581,6 +3584,10 @@ remote_start_remote (int from_tty, struc
        remote_upload_tracepoints (&uploaded_tps);

        merge_uploaded_tracepoints (&uploaded_tps);
+
+      remote_upload_trace_default_collest (&uploaded_default_collest);
+
+      trace_set_default_collect (uploaded_default_collest);

Likewise.

      }

    /* The thread and inferior lists are now synchronized with the
@@ -10567,6 +10574,23 @@ remote_download_tracepoint (struct bp_lo
    do_cleanups (old_chain);
  }

+static void
+remote_download_tracepoint_default_collect (char *collect)

Add a comment to this function.


+static void
+remote_upload_trace_default_collest (char **collectp)

Comments to this function are needed as well.

+/* Not overwrite default collect If COLLECT is NULL or its size is 0.  */
+
+void
+trace_set_default_collect (char *collect)
+{
+  if (collect != NULL && strlen (collect) != 0)
+    {
+      xfree (default_collect);
+      default_collect = collect;
+    }
+}

It looks incorrect to me. When we change target to a tfile, in which the default-collect is "", the variable default_collect won't be updated.

Supposing we have two tfile actions.tf and actions1.tf, the default-collect is "$regs" and "" respectively,

(gdb) target tfile testsuite/gdb.trace/actions.tf
(gdb) show default-collect
The list of expressions to collect by default is "$regs".
(gdb) target tfile testsuite/gdb.trace/actions1.tf
(gdb) show default-collect
The list of expressions to collect by default is "$regs".

I don't have other comments.

--
Yao (éå)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]