summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/ChangeLog9
-rw-r--r--gdb/testsuite/gdb.trace/tfile.c6
-rw-r--r--gdb/testsuite/gdb.trace/tfile.exp15
3 files changed, 30 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 8888313f247..bb4977bfd84 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 11c79d9b12a..7c0c774fe83 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 2bdde372faf..56e2a799041 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"