testsuite/libffi.call


Log

Author Commit Date CI Message
Josh Triplett 7d698125 2014-03-26T23:17:56 Use the proper C++ compiler to run C++ tests Running the C compiler with -shared-libgcc -lstdc++ does not work on non-GCC compilers.
Josh Triplett e48918ec 2014-03-16T20:29:27 testsuite: Add ABIs to the test matrix; unify tests across ABIs This eliminates all the *_win32.c tests in favor of the tests they were branched from, and expands test coverage to run many more tests on stdcall, thiscall, and fastcall. This same mechanism also supports testing any other target that has multiple ABIs.
Josh Triplett 4d4d368e 2014-03-16T17:02:05 testsuite: Replace ffitestcxx.h with ffitest.h ffitest.h contains a superset of the functionality of ffitestcxx.h; make the C++ tests include ffitest.h instead, and remove ffitestcxx.h.
Josh Triplett 3f97cf34 2014-03-16T16:53:42 testsuite: Unify the C and C++ testsuites These two testsuites differ only in the source file glob and a couple of additional compiler options; unify the remaining bits.
Josh Triplett 0d9cce8e 2014-03-16T16:22:58 testsuite: ffitest.h: Parenthesize the CHECK macro
Josh Triplett 5695ec14 2014-03-16T16:04:58 testsuite: Factor out a function to run a matrix of tests This commons up code from libffi.call/call.exp and libffi.special/special.exp, unifies the optimization option matrix between the two, and makes it easier to add more axes to the matrix in the future.
Josh Triplett dfdb02cc 2014-03-16T15:26:26 testsuite: Introduce a __THISCALL__ compiler-specific macro
Josh Triplett bad89483 2014-03-16T15:16:18 testsuite: Introduce a __STDCALL__ compiler-specific macro Several tests want to use stdcall, which differs in syntax by compiler, so introduce a macro for it in ffitest.h.
Josh Triplett 98a793fa 2014-03-16T15:20:36 testsuite: Common up the ifdef blocks for compiler-specific macros
Josh Triplett e1911f78 2014-03-16T03:25:53 Add support for stdcall, thiscall, and fastcall on non-Windows x86-32 Linux supports the stdcall calling convention, either via functions explicitly declared with the stdcall attribute, or via code compiled with -mrtd which effectively makes stdcall the default. This introduces FFI_STDCALL, FFI_THISCALL, and FFI_FASTCALL on non-Windows x86-32 platforms, as non-default calling conventions.
Josh Triplett 9c279328 2014-03-16T02:31:19 testsuite: Remove fragile stack pointer checks testsuite/libffi.call/closure_stdcall.c and testsuite/libffi.call/closure_thiscall.c include inline assembly to save the stack pointer before and after the call, and compare the values. However, compilers can and do leave the stack in different states for these two pieces of inline assembly, such as by saving a temporary value on the stack across the call; observed with gcc -Os, and verified as spurious through careful inspection of disassembly.
Josh Triplett 88d562a8 2014-03-15T22:08:19 testsuite/libffi.call/many_win32.c: Avoid spurious failure due to excess precision The test case testsuite/libffi.call/many_win32.c can spuriously fail due to excess floating-point precision. Instrumenting it with some printf calls shows differences well above FLT_EPSILON. (Note when instrumenting it that multiple computations of the difference, such as one in a print and another in the conditional, may produce different results.) Rather than complicating the test suite with architecture-specific flags to avoid excess precision, just simplify the floating-point computation to avoid a dependency on potential excess precision.
Josh Triplett c00a49ec 2014-03-15T22:08:19 testsuite/libffi.call/many.c: Avoid spurious failure due to excess precision The test case testsuite/libffi.call/many.c can spuriously fail due to excess floating-point precision. Instrumenting it with some printf calls shows differences well above FLT_EPSILON. (Note when instrumenting it that multiple computations of the difference, such as one in a print and another in the conditional, may produce different results.) Rather than complicating the test suite with architecture-specific flags to avoid excess precision, just simplify the floating-point computation to avoid a dependency on potential excess precision.
Alan Modra 164283f4 2013-11-16T06:38:55 The powerpc64 support opted to pass floating point values both in the fpr area and the parameter save area, necessary when the backend doesn't know if a function argument corresponds to the ellipsis arguments of a variadic function. This patch adds powerpc support for variadic functions, and changes the code to only pass fp in the ABI mandated area. ELFv2 needs this change since the parameter save area may not exist there. This also fixes two faulty tests that used a non-variadic function cast to call a variadic function, and spuriously reasoned that this is somehow necessary for static functions..
Andrew Haley db0ace3a 2013-11-16T06:29:25 Fix broken test cases
David Schneider cdf405d5 2013-11-13T15:50:21 add a testcase for the double/float issue on ARMHF
Anthony Green c2422174 2013-11-02T14:08:23 Merge pull request #45 from foss-for-synopsys-dwc-arc-processors/arc_support arc: Fix build error
Sandra Loosemore 2f5626ce 2013-10-15T15:32:16 Fix testsuite bug
Marcus Shawcroft f64e4a86 2013-10-15T15:20:14 Fix many.c testcase for Aarch64
Anthony Green 128cd1d2 2013-10-08T06:45:51 Fix spelling errors
David Schneider dd26f1f3 2013-03-28T15:39:01 add a failing test for closures on ARM hardfloat
David Schneider b9f01378 2013-03-25T13:27:36 add a testcase, that on ARM hardfloat needs more than the 8 VFP argument registers to pass arguments to a call
David Schneider 2fbdb0f2 2013-03-25T13:26:02 use the absolute value to check the test result against an epsilon
Anthony Green f308faf1 2013-02-11T14:25:13 Add moxie support. Release 3.0.12.
Anthony Green 10e77227 2013-02-10T08:47:26 mend
Anthony Green a9521411 2013-02-09T06:54:40 sparc v8 and testsuite fixes
Anthony Green 63ba1fa7 2013-02-08T15:18:19 Remove xfail for arm*-*-*.
Anthony Green f3a4f3fd 2013-02-07T09:57:20 Fixes for AIX xlc compiler.
Anthony Green 522f8fef 2013-02-06T20:31:31 Fix man page. Clean out junk.
Anthony Green aeb8719a 2013-01-21T07:37:30 New microblaze support
Anthony Green 40860245 2013-01-21T07:37:30 New microblaze support
Anthony Green f03eab08 2013-01-11T17:14:11 Remove obsolete inline test functions
Anthony Green 05fbe1fa 2013-01-11T16:54:40 xlc compiler support
Anthony Green f26c7ca6 2013-01-08T14:47:05 Make compiler options in dejagnu runs compiler specific
Anthony Green f7879bc3 2013-01-08T07:30:28 Testsuite fix for Solaris vendor compiler
Thorsten Glaser 0de3277b 2012-12-03T00:02:31 Testsuite fixes (was Re: [PATCH] Fix libffi on m68k-linux-gnu, completely) Dixi quod… >although I believe some 3.0.11 checks to be broken: And indeed, with a few minor changes on top of git master, I still get a full run of PASS plus one XPASS on amd64-linux! With the other patches (from this message’s parent) and these applied, I get a full PASS on m68k-linux as well. So, please git am these three diffs ☺ bye, //mirabilos -- FWIW, I'm quite impressed with mksh interactively. I thought it was much *much* more bare bones. But it turns out it beats the living hell out of ksh93 in that respect. I'd even consider it for my daily use if I hadn't wasted half my life on my zsh setup. :-) -- Frank Terbeck in #!/bin/mksh From 5cb15a3bad1f0fb360520dd48bfc938c821cdcca Mon Sep 17 00:00:00 2001 From: Thorsten Glaser <tg@mirbsd.org> Date: Sun, 2 Dec 2012 23:20:56 +0000 Subject: [PATCH 1/2] Fix tests writing to a closure retval via pointer casts As explained in <Pine.BSM.4.64L.1212022014490.23442@herc.mirbsd.org> all other tests that do the same cast to an ffi_arg pointer instead. PASS on amd64-linux (Xen domU) and m68k-linux (ARAnyM) Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
Anthony Green 58e8b66f 2012-10-30T07:07:19 AArch64 port
Anthony Green fa5d7479 2012-10-30T07:07:19 AArch64 port
Anthony Green a098b44f 2012-04-06T17:04:35 Reapply missing testsuite changes for arm
Anthony Green f2981454 2012-04-05T15:45:19 Revert debug code changes
Zachary Waldowski 39dccddb 2012-04-05T12:32:41 Fix building with Clang for Darwin (OS X 10.6+ and iOS 4.0+)
Peter Rosin 0a1ab12a 2012-03-30T08:14:08 Various MSVC-related changes.
Anthony Green e72ed5ee 2012-03-21T09:52:28 Fix vararg float test
Anthony Green bd78c9c3 2012-03-21T08:09:30 More cygwin fixes
Anthony Green dee20f8e 2012-02-10T13:06:46 Rebased from gcc
Anthony Green 1ff9c604 2012-02-01T16:34:30 Rebase from GCC
Anthony Green 164e6fe0 2012-01-23T12:41:06 m68k fixes
Anthony Green 03e9ee32 2011-11-18T15:13:00 Fix cls_double_va.c and update docs
Anthony Green ff9454da 2011-11-12T17:18:51 Add David Gilbert's variadic function call support
Anthony Green d992ac54 2011-07-29T17:32:53 Refresh from GCC
Anthony Green f1fb139b 2011-02-09T18:30:02 Fix tests
Anthony Green 69dbe845 2011-02-09T07:38:43 Fix xfails
Anthony Green 0e584399 2011-02-08T07:52:40 Refresh from GCC
Anthony Green 2db72615 2010-11-21T10:50:56 Rebase
Anthony Green 3f5b1375 2010-07-12T14:39:18 rebase
Anthony Green 9dc9a293 2010-04-13T10:33:52 Rebase to latest GCC sources
Anthony Green 7b7a42f2 2010-01-12T09:14:14 Rebase from GCC
Anthony Green c3042afa 2010-01-01T08:08:02 Reset quilt patches post 3.0.9 merge with GCC
Anthony Green 0cfe60e9 2009-12-29T10:06:04 3.0.9rc12
Anthony Green 14e2e92e 2009-12-27T21:03:33 3.0.9rc11
Anthony Green 88440278 2009-12-26T12:57:23 HPUX support and avr32 test fixes.
Anthony Green 70868464 2009-12-26T09:58:03 Remove xfails for mips and arm
Anthony Green 7e37eaaf 2009-12-26T07:46:50 Fix huge_struct for solaris
Anthony Green 07cc7a37 2009-12-26T07:23:04 3.0.9rc8
Anthony Green 9458d88f 2009-12-26T07:02:27 Rebase from GCC
Anthony Green 1d04af52 2009-12-25T09:50:36 Updated some mips XFAILs
Anthony Green f7c0bc61 2009-12-25T01:22:11 3.0.9rc6
Anthony Green da11bece 2009-12-24T05:34:46 Release 3.0.9rc5
Anthony Green 115ab36f 2009-12-24T00:22:00 Update missing changes for 3.0.9r4.
Anthony Green f8c7a245 2009-12-23T23:46:22 Switch to quilt. Rebase to latest GCC.
Anthony Green 2340e7a7 2009-10-04T23:53:17 AVR support
Anthony Green 5cbe2058 2009-10-04T23:53:11 Initial stand-alone patch.
Anthony Green c6dddbd0 2009-10-04T08:11:33 Initial commit