* gdb.trace/backtrace.exp: Adjust for x86 and x86_64.
* gdb.trace/report.exp: Adjust for x86 and x86_64. Issue a tfind end before looking for a tracepoint frame. * gdb.trace/tfind.exp: Adjust tstatus output. Adjust disassembly output. * gdb.trace/while-dyn.exp: Adjust for x86 and x86_64.
This commit is contained in:
parent
2f4d88753b
commit
6a8f26716a
|
@ -1,3 +1,12 @@
|
||||||
|
2010-03-12 Pedro Alves <pedro@codesourcery.com>
|
||||||
|
|
||||||
|
* gdb.trace/backtrace.exp: Adjust for x86 and x86_64.
|
||||||
|
* gdb.trace/report.exp: Adjust for x86 and x86_64.
|
||||||
|
Issue a tfind end before looking for a tracepoint frame.
|
||||||
|
* gdb.trace/tfind.exp: Adjust tstatus output.
|
||||||
|
Adjust disassembly output.
|
||||||
|
* gdb.trace/while-dyn.exp: Adjust for x86 and x86_64.
|
||||||
|
|
||||||
2010-03-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
2010-03-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
* gdb.base/break-interp.exp: Create new displacement parameter value
|
* gdb.base/break-interp.exp: Create new displacement parameter value
|
||||||
|
|
|
@ -146,9 +146,20 @@ gdb_trace_setactions "8.6: setup TP to collect regs, args, and locals" \
|
||||||
"$tdp4" \
|
"$tdp4" \
|
||||||
"collect \$regs, \$args, \$locs" "^$"
|
"collect \$regs, \$args, \$locs" "^$"
|
||||||
|
|
||||||
|
if [istarget "x86_64-*"] then {
|
||||||
|
set fpreg "\$rbp"
|
||||||
|
set spreg "\$rsp"
|
||||||
|
} elseif [istarget "i?86-*"] then {
|
||||||
|
set fpreg "\$ebp"
|
||||||
|
set spreg "\$esp"
|
||||||
|
} else {
|
||||||
|
set fpreg "\$fp"
|
||||||
|
set spreg "\$sp"
|
||||||
|
}
|
||||||
|
|
||||||
gdb_trace_setactions "8.6: setup TP to collect stack mem cast expr" \
|
gdb_trace_setactions "8.6: setup TP to collect stack mem cast expr" \
|
||||||
"$tdp6" \
|
"$tdp6" \
|
||||||
"collect \$fp, \(\*\(void \*\*\) \(\$sp\)\) @ 64" "^$"
|
"collect $fpreg, \(\*\(void \*\*\) \($spreg\)\) @ 64" "^$"
|
||||||
|
|
||||||
gdb_test "tstart" "" ""
|
gdb_test "tstart" "" ""
|
||||||
|
|
||||||
|
|
|
@ -155,9 +155,23 @@ gdb_trace_setactions "9.x: setup TP to collect locals" \
|
||||||
"$tdp4" \
|
"$tdp4" \
|
||||||
"collect \$locs" "^$"
|
"collect \$locs" "^$"
|
||||||
|
|
||||||
|
if [istarget "x86_64-*"] then {
|
||||||
|
set fpreg "rbp"
|
||||||
|
set spreg "rsp"
|
||||||
|
set pcreg "rip"
|
||||||
|
} elseif [istarget "i?86-*"] then {
|
||||||
|
set fpreg "ebp"
|
||||||
|
set spreg "esp"
|
||||||
|
set pcreg "eip"
|
||||||
|
} else {
|
||||||
|
set fpreg "fp"
|
||||||
|
set spreg "sp"
|
||||||
|
set pcreg "pc"
|
||||||
|
}
|
||||||
|
|
||||||
gdb_trace_setactions "9.x: setup TP to collect stack memory" \
|
gdb_trace_setactions "9.x: setup TP to collect stack memory" \
|
||||||
"$tdp5" \
|
"$tdp5" \
|
||||||
"collect \$fp, \*\(void \*\*\) \$sp @ 64" "^$"
|
"collect \$$fpreg, \*\(void \*\*\) \$$spreg @ 64" "^$"
|
||||||
|
|
||||||
gdb_trace_setactions "9.x: setup TP to collect expressions" \
|
gdb_trace_setactions "9.x: setup TP to collect expressions" \
|
||||||
"$tdp6" \
|
"$tdp6" \
|
||||||
|
@ -193,9 +207,10 @@ gdb_tfind_test "9.1: find frame for TP $tdp2" "tracepoint $tdp2" \
|
||||||
|
|
||||||
# regs were collected at tdp2.
|
# regs were collected at tdp2.
|
||||||
# How to match for the output of "info registers" on an unknown architecture?
|
# How to match for the output of "info registers" on an unknown architecture?
|
||||||
# For now, assume that every architecture has a register called "pc".
|
# For now, assume that most architectures have a register called "pc".
|
||||||
|
|
||||||
gdb_test "tdump" \
|
gdb_test "tdump" \
|
||||||
"\[\r\n\]pc .*" \
|
"\[\r\n\]$pcreg .*" \
|
||||||
"9.1: tdump, regs collected"
|
"9.1: tdump, regs collected"
|
||||||
|
|
||||||
gdb_tfind_test "9.1: find frame for TP $tdp3" "tracepoint $tdp3" \
|
gdb_tfind_test "9.1: find frame for TP $tdp3" "tracepoint $tdp3" \
|
||||||
|
@ -219,7 +234,7 @@ gdb_tfind_test "9.1: find frame for TP $tdp5" "tracepoint $tdp5" \
|
||||||
|
|
||||||
# stack was collected at tdp5, plus the frame pointer
|
# stack was collected at tdp5, plus the frame pointer
|
||||||
gdb_test "tdump" \
|
gdb_test "tdump" \
|
||||||
".fp = .*sp @ 64 = .*" \
|
".$fpreg = .*$spreg @ 64 = .*" \
|
||||||
"9.1: tdump, memrange collected"
|
"9.1: tdump, memrange collected"
|
||||||
|
|
||||||
gdb_tfind_test "9.1: find frame for TP $tdp6" "tracepoint $tdp6" \
|
gdb_tfind_test "9.1: find frame for TP $tdp6" "tracepoint $tdp6" \
|
||||||
|
@ -321,6 +336,7 @@ gdb_expect {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gdb_tfind_test "12.2: tfind end, selects no frame" "end" "-1"
|
||||||
gdb_tfind_test "12.2: find first TDP #2 frame" "tracepoint $tdp2" \
|
gdb_tfind_test "12.2: find first TDP #2 frame" "tracepoint $tdp2" \
|
||||||
"\$tracepoint" "$tdp2"
|
"\$tracepoint" "$tdp2"
|
||||||
|
|
||||||
|
@ -344,6 +360,7 @@ gdb_expect {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gdb_tfind_test "12.3: tfind end, selects no frame" "end" "-1"
|
||||||
gdb_tfind_test "12.3: find first TDP #3 frame" "tracepoint $tdp3" \
|
gdb_tfind_test "12.3: find first TDP #3 frame" "tracepoint $tdp3" \
|
||||||
"\$tracepoint" "$tdp3"
|
"\$tracepoint" "$tdp3"
|
||||||
|
|
||||||
|
@ -367,6 +384,7 @@ gdb_expect {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gdb_tfind_test "12.4: tfind end, selects no frame" "end" "-1"
|
||||||
gdb_tfind_test "12.4: find first TDP #6 frame" "tracepoint $tdp6" \
|
gdb_tfind_test "12.4: find first TDP #6 frame" "tracepoint $tdp6" \
|
||||||
"\$tracepoint" "$tdp6"
|
"\$tracepoint" "$tdp6"
|
||||||
|
|
||||||
|
|
|
@ -147,7 +147,8 @@ gdb_expect {
|
||||||
gdb_test "help tstop" "Stop trace data collection." "7.2: help tstop"
|
gdb_test "help tstop" "Stop trace data collection." "7.2: help tstop"
|
||||||
|
|
||||||
# test tstatus (when trace off)
|
# test tstatus (when trace off)
|
||||||
gdb_test "tstatus" "\[Tt\]race.* not running.*" "test tstatus off"
|
gdb_test "tstatus" "Trace stopped by a tstop command.*" \
|
||||||
|
"test tstatus off after tstop"
|
||||||
|
|
||||||
## record starting PC
|
## record starting PC
|
||||||
set save_pc [gdb_readexpr "(unsigned long) \$pc"];
|
set save_pc [gdb_readexpr "(unsigned long) \$pc"];
|
||||||
|
@ -333,7 +334,7 @@ set timeout 60
|
||||||
send_gdb "disassemble gdb_c_test\n"
|
send_gdb "disassemble gdb_c_test\n"
|
||||||
# look for disassembly of function label
|
# look for disassembly of function label
|
||||||
gdb_expect {
|
gdb_expect {
|
||||||
-re "<gdb_c_test>:.*$gdb_prompt $" { pass "8.36: trace disassembly" }
|
-re "<gdb_c_test(\.\[0-9\]+|)>:.*End of assembler dump.*$gdb_prompt $" { pass "8.36: trace disassembly" }
|
||||||
-re ".*$gdb_prompt $" { fail "8.36: trace disassembly" }
|
-re ".*$gdb_prompt $" { fail "8.36: trace disassembly" }
|
||||||
timeout { fail "8.36: trace disassembly (timeout)" }
|
timeout { fail "8.36: trace disassembly (timeout)" }
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,9 +63,17 @@ gdb_test "trace gdb_c_test" \
|
||||||
"Tracepoint $decimal at .*" \
|
"Tracepoint $decimal at .*" \
|
||||||
"Set tracepoint at gdb_c_test"
|
"Set tracepoint at gdb_c_test"
|
||||||
|
|
||||||
|
if [istarget "x86_64-*"] then {
|
||||||
|
set fpreg "\$rbp"
|
||||||
|
} elseif [istarget "i?86-*"] then {
|
||||||
|
set fpreg "\$ebp"
|
||||||
|
} else {
|
||||||
|
set fpreg "\$fp"
|
||||||
|
}
|
||||||
|
|
||||||
gdb_trace_setactions "5.12: define while-stepping <stepcount>" \
|
gdb_trace_setactions "5.12: define while-stepping <stepcount>" \
|
||||||
"" \
|
"" \
|
||||||
"collect \$fp" "^$" \
|
"collect $fpreg" "^$" \
|
||||||
"while-stepping 5" "^$" \
|
"while-stepping 5" "^$" \
|
||||||
"collect p" "^$" \
|
"collect p" "^$" \
|
||||||
"end" "^$" \
|
"end" "^$" \
|
||||||
|
|
Loading…
Reference in New Issue