diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog
index 40b978092d9cd731deed90e2b9ad714512316e2e..1a4241cc8abbe050221d28fdaf62ed52477617ed 100644
--- a/gcc/objc/ChangeLog
+++ b/gcc/objc/ChangeLog
@@ -1,3 +1,8 @@
+2010-06-01  Nathan Froyd  <froydnj@codesourcery.com>
+
+	* objc-act.c (build_next_objc_exception_stuff): Give setjmp a
+	varargs type instead of a zero-argument type.
+
 2010-05-30  Nathan Froyd  <froydnj@codesourcery.com>
 
 	* objc-act.c (synth_module_prologue): Use build_function_type_list
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index 4a6f825f844c1e1a7609638ba314bf06b459b03c..37289a28d2bfa0a7444599d2fee9f3c4a9f3c531 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -4092,7 +4092,7 @@ build_next_objc_exception_stuff (void)
   /* int _setjmp(...); */
   /* If the user includes <setjmp.h>, this shall be superseded by
      'int _setjmp(jmp_buf);' */
-  temp_type = build_function_type_list (integer_type_node, NULL_TREE);
+  temp_type = build_varargs_function_type_list (integer_type_node, NULL_TREE);
   objc_setjmp_decl
     = add_builtin_function (TAG_SETJMP, temp_type, 0, NOT_BUILT_IN, NULL, NULL_TREE);