+2021-01-26 Tom de Vries <tdevries@suse.de>
+
+ * gdb.opt/solib-intra-step.exp: Handle stepping into thunk.
+
2021-01-25 Tom de Vries <tdevries@suse.de>
* gdb.dwarf2/dw2-ranges-psym.exp (gdb_load_no_complaints): New proc.
}
set test "first-hit"
+set state 0
gdb_test_multiple "step" $test {
- -re " first-hit .*\r\n$gdb_prompt $" {
- pass $test
+ -re -wrap " first-hit .*" {
+ gdb_assert { $state != -1 } $test
}
- -re " first-retry .*\r\n$gdb_prompt $" {
- gdb_test "step" " first-hit .*" "first-hit (optimized)"
+ -re -wrap " first-retry .*" {
+ if { $state != 0 } {
+ set state -1
+ } else {
+ set state 1
+ }
+ send_gdb "step\n"
+ exp_continue
+ }
+ -re -wrap "get_pc_thunk.*" {
+ if { $state != 1 } {
+ set state -1
+ } else {
+ set state 2
+ }
+ send_gdb "step\n"
+ exp_continue
}
}
set test "second-hit"
+set state 0
gdb_test_multiple "step" $test {
- -re " second-hit .*\r\n$gdb_prompt $" {
- pass $test
+ -re -wrap " second-hit .*" {
+ gdb_assert { $state != -1 } $test
}
- -re " first-retry .*\r\n$gdb_prompt $" {
- set test "second-hit (optimized 1)"
- gdb_test_multiple "step" $test {
- -re " second-hit .*\r\n$gdb_prompt $" {
- pass $test
- }
- -re " first-hit .*\r\n$gdb_prompt $" {
- gdb_test "step" " second-hit .*" "second-hit (optimized 2)"
- }
+ -re -wrap " second-retry .*" {
+ if { $state != 0 } {
+ set state -1
+ } else {
+ set state 1
}
+ send_gdb "step\n"
+ exp_continue
}
- -re " second-retry .*\r\n$gdb_prompt $" {
- gdb_test "step" " second-hit .*" "second-hit (optimized 3)"
+ -re -wrap "get_pc_thunk.*" {
+ if { $state != 1 } {
+ set state -1
+ } else {
+ set state 2
+ }
+ send_gdb "step\n"
+ exp_continue
}
}