[PATCH 3/3] gdb.trace: Remove unnecessary target check from ftrace.exp.

Marcin Kościelnicki
2016-02-20T14:02:19Z

The check used hardcoded targets and wasn't doing anything useful anyway,
since unsupported architectures blow up on link due to missing the IPA
library before they ever get to that check.

gdb/testsuite/ChangeLog:

* gdb.trace/ftrace.exp: Remove unnecessary target check.
---
gdb/testsuite/ChangeLog | 4 ++
gdb/testsuite/gdb.trace/ftrace.exp | 135 ++++++++++++++++++-------------------
2 files changed, 70 insertions(+), 69 deletions(-)

diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 4546cc7..8d695ec 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,9 @@
2016-02-19 Marcin KoÅ›cielnicki <koriakin@0x04.net>

+ * gdb.trace/ftrace.exp: Remove unnecessary target check.
+
+2016-02-19 Marcin KoÅ›cielnicki <koriakin@0x04.net>
+
* gdb.trace/entry-values.exp: Surround $call_insn with '\y'.
* lib/trace-support.exp: Change x86_64 call_insn to 'callq'.

diff --git a/gdb/testsuite/gdb.trace/ftrace.exp b/gdb/testsuite/gdb.trace/ftrace.exp
index b9b2d8b..b587896 100644
--- a/gdb/testsuite/gdb.trace/ftrace.exp
+++ b/gdb/testsuite/gdb.trace/ftrace.exp
@@ -84,97 +84,94 @@ proc test_fast_tracepoints {} {

gdb_test "print gdb_agent_gdb_trampoline_buffer_error" ".*" ""

- if { [istarget "x86_64-*-*"] || [istarget "i\[34567\]86-*-*"] || [is_aarch64_target] } {
+ gdb_test "ftrace set_point" "Fast tracepoint .*" \
+ "fast tracepoint at a long insn"

- gdb_test "ftrace set_point" "Fast tracepoint .*" \
- "fast tracepoint at a long insn"
+ gdb_trace_setactions "collect at set_point: define actions" \
+ "" \
+ "collect globvar, anarg" "^$"

- gdb_trace_setactions "collect at set_point: define actions" \
- "" \
- "collect globvar, anarg" "^$"
+ # Make a test of shorter fast tracepoints, 32-bit x86 only

- # Make a test of shorter fast tracepoints, 32-bit x86 only
+ if { [istarget "i?86-*-*"] } {

- if { [istarget "i?86-*-*"] } {
+ # A Linux target needs to be able to allocate trampolines in the
+ # 16-bit range, check mmap_min_addr so we can warn testers.
+ if { [istarget "i?86-*-linux*"] } {

- # A Linux target needs to be able to allocate trampolines in the
- # 16-bit range, check mmap_min_addr so we can warn testers.
- if { [istarget "i?86-*-linux*"] } {
+ set minaddr [exec sh -c "cat /proc/sys/vm/mmap_min_addr"]

- set minaddr [exec sh -c "cat /proc/sys/vm/mmap_min_addr"]
+ if { [expr $minaddr > 64512] } {
+ warning "mmap_min_addr > 64512, fast tracepoint will fail"
+ warning "do \"sudo sysctl -w vm.mmap_min_addr=32768\" to adjust"
+ }
+ }

- if { [expr $minaddr > 64512] } {
- warning "mmap_min_addr > 64512, fast tracepoint will fail"
- warning "do \"sudo sysctl -w vm.mmap_min_addr=32768\" to adjust"
- }
- }
+ gdb_test_multiple "ftrace four_byter" "set 4-byte fast tracepoint" {
+ -re "May not have a fast tracepoint at .*\r\n$gdb_prompt $" {
+ pass "4-byte fast tracepoint could not be set"
+ }
+ -re "Fast tracepoint .*\r\n$gdb_prompt $" {
+ pass "4-byte fast tracepoint is set"
+ set fourgood 1
+ }
+ }

- gdb_test_multiple "ftrace four_byter" "set 4-byte fast tracepoint" {
- -re "May not have a fast tracepoint at .*\r\n$gdb_prompt $" {
- pass "4-byte fast tracepoint could not be set"
- }
- -re "Fast tracepoint .*\r\n$gdb_prompt $" {
- pass "4-byte fast tracepoint is set"
- set fourgood 1
- }
- }
+ if { $fourgood } {

- if { $fourgood } {
-
- gdb_trace_setactions "collect at four_byter: define actions" \
- "" \
- "collect globvar, anarg" "^$"
- }
- }
-
- run_trace_experiment
+ gdb_trace_setactions "collect at four_byter: define actions" \
+ "" \
+ "collect globvar, anarg" "^$"
+ }
+ }

- gdb_test "tfind pc *set_point" "Found trace frame .*" \
- "tfind set_point frame, first time"
+ run_trace_experiment

- setup_kfail "gdb/13808" "x86_64-*-linux*"
- gdb_test "print globvar" " = 1"
+ gdb_test "tfind pc *set_point" "Found trace frame .*" \
+ "tfind set_point frame, first time"

- gdb_test "tfind pc *set_point" "Found trace frame .*" \
- "tfind set_point frame, second time"
+ setup_kfail "gdb/13808" "x86_64-*-linux*"
+ gdb_test "print globvar" " = 1"

- setup_kfail "gdb/13808" "x86_64-*-linux*"
- gdb_test "print anarg" " = 200"
+ gdb_test "tfind pc *set_point" "Found trace frame .*" \
+ "tfind set_point frame, second time"

- gdb_test "tfind start" "Found trace frame .*" \
- "reset tfinding"
+ setup_kfail "gdb/13808" "x86_64-*-linux*"
+ gdb_test "print anarg" " = 200"

- if { $fourgood } {
+ gdb_test "tfind start" "Found trace frame .*" \
+ "reset tfinding"

- gdb_test "tfind pc *four_byter" "Found trace frame .*" \
- "tfind four_byter frame, first time"
+ if { $fourgood } {

- gdb_test "print anarg" " = 101" \
- "look at collected local, first time"
+ gdb_test "tfind pc *four_byter" "Found trace frame .*" \
+ "tfind four_byter frame, first time"

- gdb_test "tfind pc *four_byter" "Found trace frame .*" \
- "tfind four_byter frame, second time"
+ gdb_test "print anarg" " = 101" \
+ "look at collected local, first time"

- gdb_test "print anarg" " = 201" \
- "look at collected local, second time"
+ gdb_test "tfind pc *four_byter" "Found trace frame .*" \
+ "tfind four_byter frame, second time"

- }
+ gdb_test "print anarg" " = 201" \
+ "look at collected local, second time"

- # If debugging with the remote target, try force disabling the
- # fast tracepoints RSP feature, and confirm fast tracepoints
- # can no longer be downloaded.
- set test "fast tracepoint could not be downloaded with the feature disabled"
- if [gdb_is_target_remote] {
- gdb_test "set remote fast-tracepoints-packet off"
+ }

- gdb_test_multiple "tstart" $test {
- -re "warning: Target does not support fast tracepoints, downloading .* as regular tracepoint.*\r\n$gdb_prompt $" {
- pass $test
- }
- }
- } else {
- unsupported $test
- }
+ # If debugging with the remote target, try force disabling the
+ # fast tracepoints RSP feature, and confirm fast tracepoints
+ # can no longer be downloaded.
+ set test "fast tracepoint could not be downloaded with the feature disabled"
+ if [gdb_is_target_remote] {
+ gdb_test "set remote fast-tracepoints-packet off"
+
+ gdb_test_multiple "tstart" $test {
+ -re "warning: Target does not support fast tracepoints, downloading .* as regular tracepoint.*\r\n$gdb_prompt $" {
+ pass $test
+ }
+ }
+ } else {
+ unsupported $test
}
}

--
2.7.1