+2004-08-08 Daniel Jacobowitz <dan@debian.org>
+
+ PR gdb/1736
+ * gdb.base/sigaltstack.exp (finish_test): New procedure. KFAIL
+ for i?86-*-linux*.
+
2004-08-08 Daniel Jacobowitz <dan@debian.org>
* gdb.arch/i386-prologue.exp: Compile without debug information.
"\[\r\n\]+.7 \[^\r\n\]* main .*"
}
+proc finish_test { pattern msg } {
+ gdb_test_multiple "finish" $msg {
+ -re "Cannot insert breakpoint 0" {
+ # Some platforms use a special read-only page for signal
+ # trampolines. We can't set a breakpoint there, and we
+ # don't gracefully fall back to single-stepping.
+ setup_kfail "i?86-*-linux*" gdb/1736
+ fail "$msg (could not set breakpoint)"
+ }
+ -re "$pattern" {
+ pass $msg
+ }
+ }
+}
+
# Finish?
-gdb_test "finish" "signal handler called." "finish from catch LEAF"
-gdb_test "finish" "thrower .next_level=INNER, .*" "finish to throw INNER"
-gdb_test "finish" "catcher .*" "finish to catch INNER"
-gdb_test "finish" "signal handler called.*" "finish from catch INNER"
-gdb_test "finish" "thrower .next_level=OUTER, .*" "finish to OUTER"
-gdb_test "finish" "catcher .*" "finish to catch MAIN"
-gdb_test "finish" "main .*" "finish to MAIN"
+finish_test "signal handler called." "finish from catch LEAF"
+finish_test "thrower .next_level=INNER, .*" "finish to throw INNER"
+finish_test "catcher .*" "finish to catch INNER"
+finish_test "signal handler called.*" "finish from catch INNER"
+finish_test "thrower .next_level=OUTER, .*" "finish to OUTER"
+finish_test "catcher .*" "finish to catch MAIN"
+finish_test "main .*" "finish to MAIN"