diff options
author | Yao Qi <yao@codesourcery.com> | 2013-06-25 13:01:28 +0000 |
---|---|---|
committer | Yao Qi <yao@codesourcery.com> | 2013-06-25 13:01:28 +0000 |
commit | a0743c90c7c48938c0bd80fc3aa316e90ee26495 (patch) | |
tree | b7b4c64341eb6f9ffedeb7b249d6b7a1a5f180bc /gdb/testsuite/gdb.trace | |
parent | 9d6e6e84f73ef7c5410c097a23d5952a99684f5b (diff) | |
download | gdb-a0743c90c7c48938c0bd80fc3aa316e90ee26495.zip gdb-a0743c90c7c48938c0bd80fc3aa316e90ee26495.tar.gz gdb-a0743c90c7c48938c0bd80fc3aa316e90ee26495.tar.bz2 |
Upload tsv earlier in remote_start_remote
In extended-remote, when GDB connects the target, but target is not
running, the TSVs are not uploaded. When GDB attaches to a process,
the TSVs are not uploaded either. However, GDBserver has some
builtin or predefined TSV to upload, such as $trace_timestamp. This
bug causes $trace_timestamp is never uploaded.
gdb/
2013-06-25 Yao Qi <yao@codesourcery.com>
* remote.c (remote_start_remote): Move code to upload tsv
earlier.
gdb/testsuite/
2013-06-25 Yao Qi <yao@codesourcery.com>
* boards/native-extended-gdbserver.exp: Set board_info
'gdb,predefined_tsv'.
* boards/native-gdbserver.exp: Likewise.
* boards/native-stdio-gdbserver.exp: Likewise.
* gdb.server/ext-attach.exp: Load trace-support.exp. Check
uploaded TSVs if target supports tracing.
* gdb.trace/tsv.exp: Check uploaded TSVs if target supports
tracing and target has predefined tsv.
gdb/doc/
2013-06-25 Yao Qi <yao@codesourcery.com>
* gdbint.texinfo (Testsuite): Document 'gdb,predefined_tsv'.
Diffstat (limited to 'gdb/testsuite/gdb.trace')
-rw-r--r-- | gdb/testsuite/gdb.trace/tsv.exp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.trace/tsv.exp b/gdb/testsuite/gdb.trace/tsv.exp index 4177d13..cd0b36b 100644 --- a/gdb/testsuite/gdb.trace/tsv.exp +++ b/gdb/testsuite/gdb.trace/tsv.exp @@ -188,3 +188,25 @@ gdb_test_multiple "target ctf ${tracefile}.ctf" "" { check_tsv "ctf" } } + +# Restart. +clean_restart ${binfile} + +if ![runto_main] then { + fail "Can't run to main" + return +} + +# If there are predefined TSVs, test these predefined TSVs are correctly +# uploaded. +if [target_info exists gdb,predefined_tsv] { + set tsv [target_info gdb,predefined_tsv] + + # Test predefined TSVs are uploaded. + gdb_test "info tvariables" ".*${tsv}.*" "predefined tsvs are uploaded" +} else { + # Otherwise (the predefined TSVs are not defined in the board file), + # test there is no TSVs in GDB. + gdb_test "info tvariables" "No trace state variables\." \ + "no predefined tsvs" +} |