This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libffi/60073] New: [4.9 regression] 64-bit libffi.call/cls_double_va.c FAILs on Solaris/SPARC


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  <amodra@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]