+2020-07-21 Tom de Vries <tdevries@suse.de>
+
+ * gdb.reverse/solib-precsave.exp: Handle additional "recommended
+ breakpoint locations".
+ * gdb.reverse/solib-reverse.exp: Same.
+
2020-07-21 Tom de Vries <tdevries@suse.de>
* gdb.reverse/step-reverse.c (callee): Merge statements.
# Test reverse-step into debuggable solib function
#
-gdb_test "reverse-step" "${lib2src}.*" "reverse-step into solib function one"
+gdb_test_multiple "reverse-step" "reverse-step into solib function one" {
+ -re -wrap "middle part two.*" {
+ send_gdb "reverse-step\n"
+ exp_continue
+ }
+ -re -wrap "${lib2src}.*" {
+ pass $gdb_test_name
+ }
+}
gdb_test "reverse-step" "return 2.x.*" "reverse-step within solib function one"
gdb_test "reverse-step" " middle part two.*" "reverse-step back to main one"
-gdb_test "reverse-step" "${lib2src}.*" "reverse-step into solib function two"
+gdb_test_multiple "reverse-step" "reverse-step into solib function two" {
+ -re -wrap "begin part two.*" {
+ send_gdb "reverse-step\n"
+ exp_continue
+ }
+ -re -wrap "${lib2src}.*" {
+ pass $gdb_test_name
+ }
+}
gdb_test "reverse-step" "return 2.x.*" "reverse-step within solib function two"
gdb_test "reverse-step" " begin part two.*" "reverse-step back to main two"
gdb_test "until $end_part_two" " end part two.*" "run until end part two"
gdb_test "reverse-next" " middle part two.*" "reverse-next over solib function one"
-gdb_test "reverse-next" " begin part two.*" "reverse-next over solib function two"
+gdb_test_multiple "reverse-next" "reverse-next over solib function two" {
+ -re -wrap "middle part two.*" {
+ send_gdb "reverse-next\n"
+ exp_continue
+ }
+ -re -wrap " begin part two.*" {
+ pass $gdb_test_name
+ }
+}
# Test reverse-step into debuggable solib function
#
-gdb_test "reverse-step" "${lib2src}.*" "reverse-step into solib function one"
+gdb_test_multiple "reverse-step" "reverse-step into solib function one" {
+ -re -wrap "middle part two.*" {
+ send_gdb "reverse-step\n"
+ exp_continue
+ }
+ -re -wrap "${lib2src}.*" {
+ pass $gdb_test_name
+ }
+}
gdb_test "reverse-step" "return 2.x.*" "reverse-step within solib function one"
gdb_test "reverse-step" " middle part two.*" "reverse-step back to main one"
-gdb_test "reverse-step" "${lib2src}.*" "reverse-step into solib function two"
+gdb_test_multiple "reverse-step" "reverse-step into solib function two" {
+ -re -wrap "begin part two.*" {
+ send_gdb "reverse-step\n"
+ exp_continue
+ }
+ -re -wrap "${lib2src}.*" {
+ pass $gdb_test_name
+ }
+}
gdb_test "reverse-step" "return 2.x.*" "reverse-step within solib function two"
gdb_test "reverse-step" " begin part two.*" "reverse-step back to main two"
gdb_test "until $end_part_two" " end part two.*" "run until end part two"
gdb_test "reverse-next" " middle part two.*" "reverse-next over solib function one"
-gdb_test "reverse-next" " begin part two.*" "reverse-next over solib function two"
+gdb_test_multiple "reverse-next" "reverse-next over solib function two" {
+ -re -wrap "middle part two.*" {
+ send_gdb "reverse-next\n"
+ exp_continue
+ }
+ -re -wrap " begin part two.*" {
+ pass $gdb_test_name
+ }
+}