commit 06786b04e1948d0037909e7fa6834ddd7c171968 Author: Dmitry Kozlov Date: Thu Oct 4 13:06:38 2012 +0400 Extend tsave to save trace start time, stop time and notes. diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 53f2078..9196bc2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2012-10-04 Dmitry Kozlov + + * tracepoint.c (trace_save): Add saving starttime, stoptime, user and notes. + +2012-10-04 Dmitry Kozlov + + * tracepoint.c (trace_status_command): Fix type of printf arg. + (trace_status_mi): Likewise. + 2012-10-03 Doug Evans PR symtab/14601 diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c index 0f94150..959ede5 100644 --- a/gdb/tracepoint.c +++ b/gdb/tracepoint.c @@ -3018,10 +3018,11 @@ trace_save (const char *filename, int target_does_save) (ts->running ? '1' : '0'), stop_reason_names[ts->stop_reason]); if (ts->stop_reason == tracepoint_error) { - char *buf = (char *) alloca (strlen (ts->stop_desc) * 2 + 1); + char *buf = (char *) xmalloc (strlen (ts->stop_desc) * 2 + 1); bin2hex ((gdb_byte *) ts->stop_desc, buf, 0); fprintf (fp, ":%s", buf); + xfree (buf); } fprintf (fp, ":%x", ts->stopping_tracepoint); if (ts->traceframe_count >= 0) @@ -3036,6 +3037,35 @@ trace_save (const char *filename, int target_does_save) fprintf (fp, ";disconn:%x", ts->disconnected_tracing); if (ts->circular_buffer) fprintf (fp, ";circular:%x", ts->circular_buffer); + if (ts->start_time) + { + fprintf (fp, ";starttime:%ld%06ld", + (long int) (ts->start_time / 1000000), + (long int) (ts->start_time % 1000000)); + } + if (ts->stop_time) + { + fprintf (fp, ";stoptime:%ld%06ld", + (long int) (ts->stop_time / 1000000), + (long int) (ts->stop_time % 1000000)); + } + if (ts->notes && ts->notes[0] != 0 ) + { + char *buf = (char *) xmalloc (strlen (ts->notes) * 2 + 1); + + bin2hex ((gdb_byte *) ts->notes, buf, 0); + fprintf (fp, ";notes:%s", buf); + xfree (buf); + } + if (ts->user_name) + { + char *buf = (char *) xmalloc (strlen (ts->user_name) * 2 + 1); + + bin2hex ((gdb_byte *) ts->user_name, buf, 0); + fprintf (fp, ";username:%s", buf); + xfree (buf); + } + fprintf (fp, "\n"); /* Note that we want to upload tracepoints and save those, rather