diff options
author | Pedro Alves <palves@redhat.com> | 2013-03-20 11:28:55 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2013-03-20 11:28:55 +0000 |
commit | 3f1175a995f09c90a2e026afae3602c33e1e3e19 (patch) | |
tree | 471394e7b6f936d8366b274d1713fa0318596ada | |
parent | 35a7120b8ccbd9e58daf8a9d108923a8cf4fdc98 (diff) | |
download | gdb-3f1175a995f09c90a2e026afae3602c33e1e3e19.zip gdb-3f1175a995f09c90a2e026afae3602c33e1e3e19.tar.gz gdb-3f1175a995f09c90a2e026afae3602c33e1e3e19.tar.bz2 |
tfile.exp: Test printing a non-const global that is not covered by the trace frame; test disassembling.
Make sure we don't fallback to printing the initial value of a
non-const variable in the executable.
Also make sure we can do 'disassemble', as another test that GDB is
able to read read-only parts from the executable (the existing test of
printing constglob also covers that case).
gdb/testsuite/
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.
-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" |