http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60073
Bug ID: 60073 Summary: [4.9 regression] 64-bit libffi.call/cls_double_va.c FAILs on Solaris/SPARC Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libffi Assignee: unassigned at gcc dot gnu.org Reporter: ro at gcc dot gnu.org CC: amodra at gcc dot gnu.org, ebotcazou at gcc dot gnu.org, green at gcc dot gnu.org Host: sparc*-sun-solaris2.* Target: sparc*-sun-solaris2.* Build: sparc*-sun-solaris2.* Since ca. 20131121, the 64-bit libffi.call/cls_double_va.c test FAILs on Solaris/SPARC: FAIL: libffi.call/cls_double_va.c -O0 -W -Wall output pattern test, is 7.0 FAIL: libffi.call/cls_double_va.c -O2 output pattern test, is 7.0 FAIL: libffi.call/cls_double_va.c -O3 output pattern test, is 7.0 FAIL: libffi.call/cls_double_va.c -Os output pattern test, is 7.0 FAIL: libffi.call/cls_double_va.c -O2 -fomit-frame-pointer output pattern test, is 7.0 E.g. FAIL: libffi.call/cls_double_va.c -O0 -W -Wall output pattern test, is 7.0 res: 4 0.0 res: 4 , should match 7.0? res: 4? 7.0? res: 4 This is due to 2013-11-18 Alan Modra <amo...@gmail.com> * src/powerpc/ppc_closure.S: Don't bl .Luint128. * src/powerpc/ffitarget.h: Import from upstream. * src/powerpc/ffi.c: Likewise. * src/powerpc/linux64.S: Likewise. * src/powerpc/linux64_closure.S: Likewise. * doc/libffi.texi: Likewise. * testsuite/libffi.call/cls_double_va.c: Likewise. * testsuite/libffi.call/cls_longdouble_va.c: Likewise. Reverting the cls_double.ca change lets the testcase pass. Strangely, the cls_longdouble_va.c test still passes even with the patch, so this could indicate a bug in the libffi sparcv9 code. Rainer