diff options
-rw-r--r-- | gdb/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/tfile.c | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/tfile.exp | 15 |
3 files changed, 30 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 8888313..bb4977b 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2013-03-20 Pedro Alves <palves@redhat.com> + Yao Qi <yao@codesourcery.com> + + * gdb.trace/tfile.c: Add comments. + (nonconstglob): New global. + * gdb.trace/tfile.exp: Add comments. Test printing a non-const + global that is not covered by the trace frame. Test + disassembling. + 2013-03-17 Jan Kratochvil <jan.kratochvil@redhat.com> * gdb.base/valgrind-infcall.exp diff --git a/gdb/testsuite/gdb.trace/tfile.c b/gdb/testsuite/gdb.trace/tfile.c index 11c79d9..7c0c774 100644 --- a/gdb/testsuite/gdb.trace/tfile.c +++ b/gdb/testsuite/gdb.trace/tfile.c @@ -13,12 +13,18 @@ char trbuf[1000]; char *trptr; char *tfsizeptr; +/* These globals are put in the trace buffer. */ + int testglob = 31415; int testglob2 = 271828; +/* But these below are not. */ + const int constglob = 10000; +int nonconstglob = 14124; + int start_trace_file (char *filename) { diff --git a/gdb/testsuite/gdb.trace/tfile.exp b/gdb/testsuite/gdb.trace/tfile.exp index 2bdde37..56e2a79 100644 --- a/gdb/testsuite/gdb.trace/tfile.exp +++ b/gdb/testsuite/gdb.trace/tfile.exp @@ -64,8 +64,23 @@ gdb_test "print testglob" " = 31415" "print testglob on trace file" gdb_test "print testglob2" " = 271828" "print testglob2 on trace file" +# This global is not covered by the trace frame, but since it's const, +# we should be able to read it from the executable. + gdb_test "print constglob" " = 10000" "print constglob on trace file" +# Similarly, disassembly should find the read-only pieces in the executable. +gdb_test "disassemble main" \ + "Dump of assembler code for function main:.* $hex <\\+0\\>:.*End of assembler dump\." + +# This global is also not covered by the trace frame, and since it's +# non-const, we should _not_ read it from the executable, as that +# would show the variable's initial value, not the current at time the +# trace frame was created. + +gdb_test "print nonconstglob" \ + " = <unavailable>" "print nonconstglob on trace file" + gdb_test "tfind" "Target failed to find requested trace frame." \ "tfind does not find a second frame in trace file" |