* remote.c (remote_upload_merge_tp_tsv): New. (remote_start_remote): Move some bits to remote_upload_merge_tp_tsv and call it. --- gdb/remote.c | 52 ++++++++++++++++++++++++++++++---------------------- 1 files changed, 30 insertions(+), 22 deletions(-) diff --git a/gdb/remote.c b/gdb/remote.c index 60d7ecd..090f68c 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -3150,6 +3150,32 @@ send_interrupt_sequence (void) } static void +remote_upload_merge_tp_tsv (void) +{ + /* Possibly the target has been engaged in a trace run started + previously; find out where things are at. */ + if (remote_get_trace_status (current_trace_status ()) != -1) + { + struct uploaded_tp *uploaded_tps = NULL; + struct uploaded_tsv *uploaded_tsvs = NULL; + + if (current_trace_status ()->running) + printf_filtered (_("Trace is already running on the target.\n")); + + /* Get trace state variables first, they may be checked when + parsing uploaded commands. */ + + remote_upload_trace_state_variables (&uploaded_tsvs); + + merge_uploaded_trace_state_variables (&uploaded_tsvs); + + remote_upload_tracepoints (&uploaded_tps); + + merge_uploaded_tracepoints (&uploaded_tps); + } +} + +static void remote_start_remote (int from_tty, struct target_ops *target, int extended_p) { struct remote_state *rs = get_remote_state (); @@ -3313,6 +3339,8 @@ remote_start_remote (int from_tty, struct target_ops *target, int extended_p) target_find_description (); } + remote_upload_merge_tp_tsv (); + /* Use the previously fetched status. */ gdb_assert (wait_status != NULL); strcpy (rs->buf, wait_status); @@ -3387,6 +3415,8 @@ remote_start_remote (int from_tty, struct target_ops *target, int extended_p) /* Report all signals during attach/startup. */ remote_pass_signals (0, NULL); + + remote_upload_merge_tp_tsv (); } /* If we connected to a live target, do some additional setup. */ @@ -3396,28 +3426,6 @@ remote_start_remote (int from_tty, struct target_ops *target, int extended_p) remote_check_symbols (symfile_objfile); } - /* Possibly the target has been engaged in a trace run started - previously; find out where things are at. */ - if (remote_get_trace_status (current_trace_status ()) != -1) - { - struct uploaded_tp *uploaded_tps = NULL; - struct uploaded_tsv *uploaded_tsvs = NULL; - - if (current_trace_status ()->running) - printf_filtered (_("Trace is already running on the target.\n")); - - /* Get trace state variables first, they may be checked when - parsing uploaded commands. */ - - remote_upload_trace_state_variables (&uploaded_tsvs); - - merge_uploaded_trace_state_variables (&uploaded_tsvs); - - remote_upload_tracepoints (&uploaded_tps); - - merge_uploaded_tracepoints (&uploaded_tps); - } - /* If breakpoints are global, insert them now. */ if (gdbarch_has_global_breakpoints (target_gdbarch) && breakpoints_always_inserted_mode ()) -- 1.7.0.4