+2012-07-19 Pedro Alves <palves@redhat.com>
+
+ * gdb.reverse/sigall-precsave.exp: Set a breakpoint at each signal
+ handler before recording.
+
2012-07-19 Tom Tromey <tromey@redhat.com>
* gdb.cp/casts.exp: Add tests for typeof and decltype.
TERM
}
-gdb_test "continue" "Breakpoint .* end of main .*" "run to end of main"
+# Software single-step targets can't step into signal handlers. Since
+# later, when replaying the execution log, the test wants to set
+# breakpoints on handlers, we need to make sure that while recording,
+# GDB steps through the handlers too, so that the execution log covers
+# them. Setting breakpoints in all handlers takes care of it. This
+# is harmless for hardware-step targets.
+foreach sig $signals {
+ set test "break *handle_$sig"
+ gdb_test_multiple $test $test {
+ -re "Breakpoint .*$gdb_prompt $" {
+ # No need to record a pass for each breakpoint.
+ }
+ }
+}
+
+gdb_test_multiple "continue" "continue" {
+ -re "Breakpoint .* end of main .*$gdb_prompt $" {
+ pass "run to end of main"
+ }
+ -re "Breakpoint .* handle_.*$gdb_prompt $" {
+ send_gdb "continue\n"
+ exp_continue
+ }
+}
+
+delete_breakpoints
gdb_test "record save $precsave" \
"Saved core file $precsave with execution log\." \