[Bug libffi/56033] FAIL: libffi.call/cls_struct_va1.c on powerpc-*-* and sparc-sun-solaris2* with -m64
ro at CeBiTec dot Uni-Bielefeld.DE
gcc-bugzilla@gcc.gnu.org
Mon May 13 11:31:00 GMT 2013
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
More information about the Gcc-bugs
mailing list