diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index 55553ba94040d09aab2175a10505cb7077501e41..9c3249e582299c6dcff626cf6ea8ee4a8cf6796f 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -1,3 +1,9 @@
+2007-07-26  Richard Guenther  <rguenther@suse.de>
+
+	PR testsuite/32843
+	* testsuite/libffi.call/return_sc.c (main): Verify call
+	result as signed char, not ffi_arg.
+
 2007-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
 	* configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
diff --git a/libffi/testsuite/libffi.call/return_sc.c b/libffi/testsuite/libffi.call/return_sc.c
index 19608ee7c8bbbe6cfcdd5bae95510f8ccddef0ef..ddb26778695739bfbd25c296d61241d263417860 100644
--- a/libffi/testsuite/libffi.call/return_sc.c
+++ b/libffi/testsuite/libffi.call/return_sc.c
@@ -30,7 +30,7 @@ int main (void)
        sc < (signed char) 127; sc++)
     {
       ffi_call(&cif, FFI_FN(return_sc), &rint, values);
-      CHECK(rint == (ffi_arg) sc);
+      CHECK((signed char) rint == sc);
     }
   exit(0);
 }