http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56033
--- Comment #8 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> --- > --- Comment #7 from Dominique d'Humieres <dominiq at lps dot ens.fr> > 2013-04-22 14:22:15 UTC --- > Following the recipe in comment #5, the following patch [...] > fixes the corresponding failures. Note that I did not find how to apply the > recipe to libffi.call/cls_uint_va.c. Same for 64-bit sparc-sun-solaris2.*. The following snippet fixes the cls_unit_va.c failure for me: diff --git a/libffi/testsuite/libffi.call/cls_uint_va.c b/libffi/testsuite/libffi.call/cls_uint_va.c --- a/libffi/testsuite/libffi.call/cls_uint_va.c +++ b/libffi/testsuite/libffi.call/cls_uint_va.c @@ -13,9 +13,9 @@ typedef unsigned int T; static void cls_ret_T_fn(ffi_cif* cif __UNUSED__, void* resp, void** args, void* userdata __UNUSED__) { - *(T *)resp = *(T *)args[0]; + *(ffi_arg *)resp = *(T *)args[0]; - printf("%d: %d %d\n", *(T *)resp, *(T *)args[0], *(T *)args[1]); + printf("%d: %d %d\n", (int)*(ffi_arg *)resp, *(T *)args[0], *(T *)args[1]); } typedef T (*cls_ret_T)(T, ...); I've included the complete patch in i386-pc-solaris2.* bootstraps, too, and saw no regressions, so I suggest you post the complete patch to gcc-patches, and Cc: Anthony Green. Thanks. Rainer