+2012-09-20  Doug Evans  <dje@google.com>
+
+       * gdb.base/callfuncs.exp (do_function_calls): Set unwindonsignal to on
+       while running the tests.
+
 2012-09-18  Joel Brobecker  <brobecker@adacore.com>
 
        * gdb.ada/bp_reset: New testcase.
 
     # We need to up this because this can be really slow on some boards.
     set timeout 60;
 
+    # If any of these calls segv we don't want to affect subsequent tests.
+    # E.g., we want to ensure register values are restored.
+    gdb_test_no_output "set unwindonsignal on"
+
     gdb_test "p t_char_values(0,0)" " = 0"
     gdb_test "p t_char_values('a','b')" " = 1"
     gdb_test "p t_char_values(char_val1,char_val2)" " = 1"
 
     gdb_test "p t_structs_a(struct_val1)" "= (.unsigned char .. )?<buf.*> \"foo\"" \
        "call inferior func with struct - returns char *"
+
+    # Restore default value.
+    gdb_test_no_output "set unwindonsignal off"
 }
 
 # Procedure to get current content of all registers.