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] Change trace buffer size(v5)


On 03/05/13 15:04:52, Pedro Alves wrote:
On 05/03/2013 12:38 PM, Abid, Hafiz wrote:

> Hi Pedro,
> Thanks for letting me know. There is a testcase in status-stop.exp(test_tstart_tstart) to check this case but it is not working as intended. I will work on a patch.

Thanks.

--
Pedro Alves

Hi Pedro,
I have attached a patch. It calls 'stop_tracing' from the QTinit handler. I was wondering that setting 'tracing' to 0 may be enough. But stop_tracing seems to do a lot of other things which may be required. So I thought it is better to go with it. Another possibility is to let QTBuffer:size handler return ok if the new size is equal to current size irrespective of the value of 'tracing'.

As I mentioned earlier, a testcase was already present for this scenario but it was missing the error message that came after we press 'y'. I have handled it but would like to know if there is a better way to do it. I saw no regression on native-gdbserver run.

Regards,
Abid

gdb/testsuite/ChangeLog:
2013-05-03  Hafiz Abid Qadeer  <abidh@codesourcery.com>

	* status-stop.exp (test_tstart_tstart): Check for error
	returned by the second 'tstart' command.


gdb/gdbserver/ChangeLog:
2013-05-03  Hafiz Abid Qadeer  <abidh@codesourcery.com>

	* tracepoint.c (cmd_qtinit): Call 'stop_tracing'.


diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c
index 419765b..1ff6114 100644
--- a/gdb/gdbserver/tracepoint.c
+++ b/gdb/gdbserver/tracepoint.c
@@ -2354,6 +2354,8 @@ cmd_qtinit (char *packet)
   /* Make sure we don't try to read from a trace frame.  */
   current_traceframe = -1;
 
+  stop_tracing ();
+
   trace_debug ("Initializing the trace");
 
   clear_installed_tracepoints ();
diff --git a/gdb/testsuite/gdb.trace/status-stop.exp b/gdb/testsuite/gdb.trace/status-stop.exp
index bca03d2..33c1eb9 100644
--- a/gdb/testsuite/gdb.trace/status-stop.exp
+++ b/gdb/testsuite/gdb.trace/status-stop.exp
@@ -66,6 +66,7 @@ proc test_tstart_tstop_tstart { } {
 
 proc test_tstart_tstart { } {
     with_test_prefix "tstart_tstart" {
+	global gdb_prompt
 	global executable
 	global hex
 
@@ -79,9 +80,13 @@ proc test_tstart_tstart { } {
 	gdb_test "trace func1" "Tracepoint \[0-9\] at $hex: file.*"
 	gdb_test_no_output "tstart"
 
-	gdb_test "tstart" "" "tstart again" \
-	    "A trace is running already.  Start a new run\\? \\(y or n\\) " \
-	    "y"
+	set test "tstart again"
+	gdb_test_multiple "tstart" $test {
+	    -re "A trace is running already.  Start a new run.*y or n.*" {
+		# Send 'y' and make sure that we don't get any error. 
+		gdb_test_no_output "y" $test
+	    }
+	}
     }
 }
 

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