kc3-lang/libffi/testsuite

Branch :


Log

Author Commit Date CI Message
45da2fcb 2018-02-17 18:53:02 new test: return small struct The bug originally was discovered in https://bugs.gentoo.org/634190 where complicated callback was returning invalid data on ia64. This change adds minimal reproducer that fails only on ia64 as: FAIL: libffi.call/struct10.c -W -Wall -Wno-psabi -O0 execution test FAIL: libffi.call/struct10.c -W -Wall -Wno-psabi -O2 execution test FAIL: libffi.call/struct10.c -W -Wall -Wno-psabi -O3 execution test FAIL: libffi.call/struct10.c -W -Wall -Wno-psabi -Os execution test Test passes on amd64. The fix is in the following commit. Bug: https://bugs.gentoo.org/634190 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
1fb788ac 2017-10-10 11:37:00 aarch64: fix index base register for AArch64 The base is passed in `x3`, not in `x2`. This fixes the indexing base so that the right value is used.
b2a343ff 2017-10-25 04:36:49 Don't include WIN64/EFI64 for x32 Since x32 doesn't support WIN64/EFI64, don't include it for x32. Also x32 has sizeof size_t == 4. But TARGET should be X86_64.
c9c2aa24 2017-03-15 09:58:39 Revert previous two changes. clang/MacOS problem can only be solved within dejagnu.
5a8fca94 2017-03-15 09:52:39 Fix typo
5b10a019 2017-03-15 09:34:01 Work around dejagnu/clang problems
c5b408ee 2016-09-04 09:17:46 xfail the unwindtest for osx as per issue #279
ef8be84d 2016-07-29 21:01:38 Do not use fabsl() in float2.c test Some targets may support long double variables but in the same time may lack support of long double functions like fabsl(). Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
f3201733 2016-07-29 19:18:41 Fix output expectations in cls_dbls_struct.c test This test with invalid output expectations may fail on some targets (e.g. ARC processors). Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
f74ea2dc 2016-07-28 20:57:09 Allow setting an arbitary value for blddirffi in testsuite It is useful when tests are executed not from build directory. So the path of the build directory may be passed through site.exp or runtest. Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
31362d78 2016-07-28 18:48:23 ARC: Link tests with pthread library Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
02089a1b 2016-05-23 09:58:51 Merge pull request #237 from tschwinge/libffi_feature_test Simplify/fix libffi_feature_test
e5843a3a 2016-04-15 16:10:08 x86: Fix calling convention for ffi_closure_win64_inner Also enable testing for the cross-abi calls.
c8845517 2016-02-25 20:10:18 Simplify/fix libffi_feature_test As detailed in <http://news.gmane.org/find-root.php?message_id=%3C87wppswqqt.fsf%40kepler.schwinge.homeip.net%3E>, the original code (originally added in commit f1301a54bb80e6ae23f7687c68f36875dae69134 as part of pull request #145) does not work (at least not for me, in the GCC environment).
38a4d72c 2015-11-17 21:18:20 add ffi_get_struct_offsets
755f1e64 2016-02-20 06:43:48 Merge pull request #193 from rth7680/fix-70 Test case from issue #70
89b76050 2015-10-19 15:33:23 Fix dejagnu test support for --tool_opts Right now it concatenates it with the existing options and then appends it to that list, fix it to simply append it as is, same as it is done with the other variables. Tested by running the following command which includes gcc options: $ make check RUNTESTFLAGS="--tool_opts '-Werror'" Without this patch, all the tests fail. With it, the test succeed. Inspecting the logs shows that -Werror was indeed used when compiling the test sources.
4cdedc27 2015-07-25 14:29:15 Tidy call.exp test collection Commit c952a92e20aa6013d8202d0b3fa1d87838c83054 moved all of the complex tests to libffi.complex, but failed to remove the anti-globbing from libffi.call.
609db2fb 2015-07-25 12:42:04 Test case from Issue #70
5cd411ad 2015-01-13 15:44:03 New test case for old aarch64 bug
ccdd7bb8 2014-11-16 12:12:23 testsuite: Fix alpha static chain register name
3316b666 2014-11-15 07:31:41 Merge pull request #145 from rth7680/master Configure and testsuite cleanups, v2
c9f5b664 2014-11-14 13:04:33 testsuite: Add trivial tests for Go closures
c952a92e 2014-11-14 11:00:14 testsuite: Move complex tests to their own subdirectory It seems a bit silly to isolate them by globbing vs "*complex*" when we can just as easily put them in their own subdirectory.
f1301a54 2014-11-14 10:50:29 testsuite: Use feature test rather than enumeration for complex
b5ade2fb 2014-11-13 09:06:10 testsuite: Detect clang Clang doesn't like the -Wno-psabi argument that we want to pass to GCC. Since clang is detected as GCC via __GNUC__, use ax_cv_c_compiler_vendor.
771fabc6 2014-11-14 14:21:35 Take a float absolute value using fabs() instead of abs(). Replace integer abs() by floating point fabs() in the approximate equality check for float values.
9622ede2 2014-11-14 13:18:04 Fix floating point number comparisons in testsuite/libffi.call/float[123].c. Rewrite the checks for approximate equality of floating point return values to be in the form "fabs(a - b) < EPS" instead of just "a - b < EPS".
ad89c2d9 2014-10-26 13:16:03 sparc: Add support for complex types
a529bec2 2014-10-21 11:26:59 arm: Add support for complex types
f41bec3b 2014-10-17 20:46:48 alpha: Add support for complex types
a992f878 2014-10-22 22:58:09 aarch64: Add support for complex types
198f469e 2014-11-05 16:34:41 x86: Add support for Complex
7cf84132 2014-11-07 06:56:55 testsuite: Add two dg-do run markers Caught by clang warning about unused -L parameter.
fc501750 2014-11-05 16:33:44 testsuite: Fix return_complex2 vs excessive precision Use the previously computed rc2 to validate, rather than recomputing a floating point result with excess precision.
99db4d42 2014-10-23 14:12:18 win64: Rewrite It's way too different from the 32-bit ABIs with which it is currently associated. As seen from all of the existing XFAILs.
990eb9d4 2014-09-28 00:50:29 Only run the complex type tests on supported platforms.
fbbf48fb 2014-09-20 07:43:51 Compile tests with -Wno-psabi when using GCC
6e8a4460 2014-09-20 06:21:19 2014-07-22 Dominik Vogt <vogt@linux.vnet.ibm.com> * src/types.c (FFI_TYPEDEF, FFI_NONCONST_TYPEDEF): Merge the macros by adding another argument that controls whether the result is const or not (FFI_LDBL_CONST): Temporary macro to reduce ifdef confusion * src/prep_cif.c (ffi_prep_cif_core): Replace list of systems with new macro FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION * src/pa/ffitarget.h (FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION): Define. * src/s390/ffitarget.h (FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION): Define. * src/x86/ffitarget.h (FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION): Define. 2014-07-22 Dominik Vogt <vogt@linux.vnet.ibm.com> * doc/libffi.texi (Primitive Types): Document ffi_type_complex_float, ffi_type_complex_double and ffi_type_complex_longdouble (Complex Types): New subsection. (Complex Type Example): Ditto. * testsuite/libffi.call/cls_align_complex_double.c: New FFI_TYPE_COMPLEX test. * testsuite/libffi.call/cls_align_complex_float.c: Ditto. * testsuite/libffi.call/cls_align_complex_longdouble.c: Ditto. * testsuite/libffi.call/cls_complex_double.c: Ditto. * testsuite/libffi.call/cls_complex_float.c: Ditto. * testsuite/libffi.call/cls_complex_longdouble.c: Ditto. * testsuite/libffi.call/cls_complex_struct_double.c: Ditto. * testsuite/libffi.call/cls_complex_struct_float.c: Ditto. * testsuite/libffi.call/cls_complex_struct_longdouble.c: Ditto. * testsuite/libffi.call/cls_complex_va_double.c: Ditto. * testsuite/libffi.call/cls_complex_va_float.c: Ditto. * testsuite/libffi.call/cls_complex_va_longdouble.c: Ditto. * testsuite/libffi.call/complex_double.c: Ditto. * testsuite/libffi.call/complex_defs_double.c: Ditto. * testsuite/libffi.call/complex_float.c: Ditto. * testsuite/libffi.call/complex_defs_float.c: Ditto. * testsuite/libffi.call/complex_longdouble.c: Ditto. * testsuite/libffi.call/complex_defs_longdouble.c: Ditto. * testsuite/libffi.call/complex_int.c: Ditto. * testsuite/libffi.call/many_complex_double.c: Ditto. * testsuite/libffi.call/many_complex_float.c: Ditto. * testsuite/libffi.call/many_complex_longdouble.c: Ditto. * testsuite/libffi.call/return_complex1_double.c: Ditto. * testsuite/libffi.call/return_complex1_float.c: Ditto. * testsuite/libffi.call/return_complex1_longdouble.c: Ditto. * testsuite/libffi.call/return_complex2_double.c: Ditto. * testsuite/libffi.call/return_complex2_float.c: Ditto. * testsuite/libffi.call/return_complex2_longdouble.c: Ditto. * testsuite/libffi.call/return_complex_double.c: Ditto. * testsuite/libffi.call/return_complex_float.c: Ditto. * testsuite/libffi.call/return_complex_longdouble.c: Ditto. * src/raw_api.c (ffi_raw_to_ptrarray): Handle FFI_TYPE_COMPLEX (ffi_ptrarray_to_raw): Ditto. * src/prep_cif.c (ffi_prep_cif_core): Abort if FFI_TYPE_COMPLEX is not implemented in libffi for the target. * src/java_raw_api.c (ffi_java_raw_size): FFI_TYPE_COMPLEX not supported yet (abort). (ffi_java_raw_to_ptrarray): Ditto. (ffi_java_rvalue_to_raw): Ditto. (ffi_java_raw_to_rvalue): Ditto. * src/debug.c (ffi_type_test): Add debug tests for complex types. * include/ffi.h.in (FFI_TYPE_COMPLEX): Add new FFI_TYPE_COMPLEX. (FFI_TYPE_LAST): Bump. (ffi_type_complex_float): Add new ffi_type_.... (ffi_type_complex_double): Ditto. (ffi_type_complex_longdouble): Ditto. 2014-07-22 Dominik Vogt <vogt@linux.vnet.ibm.com> * src/s390/ffitarget.h (FFI_TARGET_HAS_COMPLEX_TYPE): Define to provide FFI_TYPE_COMPLEX support. * src/s390/ffi.c (ffi_check_struct_type): Implement FFI_TYPE_COMPLEX (ffi_prep_args): Ditto. (ffi_prep_cif_machdep): Ditto. (ffi_closure_helper_SYSV): Ditto.
70c303cb 2014-05-11 09:56:40 Fix testsuite for GCC 4.9.0
d3695227 2014-04-20 12:03:25 Support fastcall closures libffi on 32-bit x86 now supports closures for all supported ABIs. Thus, rewrite the last remaining duplicated-by-ABI test (closure_stdcall and closure_thiscall) to use the generic ABI_NUM/ABI_ATTR mechanism.
7d698125 2014-03-26 23: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.
9946a92a 2014-03-26 20:18:58 Stop looking for expect and runtest above top_builddir Users wishing to test hand-compiled versions of expect and runtest can easily enough put them in their path or set EXPECT and RUNTEST themselves.
acb20232 2014-03-26 20:18:41 Stop setting an empty AM_RUNTESTFLAGS
e48918ec 2014-03-16 20: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.
4d4d368e 2014-03-16 17: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.
3f97cf34 2014-03-16 16: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.
0d9cce8e 2014-03-16 16:22:58 testsuite: ffitest.h: Parenthesize the CHECK macro
5695ec14 2014-03-16 16: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.
dfdb02cc 2014-03-16 15:26:26 testsuite: Introduce a __THISCALL__ compiler-specific macro
bad89483 2014-03-16 15: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.
98a793fa 2014-03-16 15:20:36 testsuite: Common up the ifdef blocks for compiler-specific macros
e1911f78 2014-03-16 03: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.
9c279328 2014-03-16 02: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.
88d562a8 2014-03-15 22: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.
c00a49ec 2014-03-15 22: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.
35634dbc 2014-03-15 18:11:16 Remove autogenerated files from the repository Add an autogen.sh to regenerate them.
ab79d6e2 2013-11-21 06:12:35 This separates the 32-bit sysv/linux/bsd code from the 64-bit linux code, and makes it possible to link code compiled with different options to those used to compile libffi. For example, a -mlong-double-128 libffi can be used with -mlong-double-64 code. Using the return value area as a place to pass parameters wasn't such a good idea, causing a failure of cls_ulonglong.c. I didn't see this when running the mainline gcc libffi testsuite because that version of the test is inferior to the upstreamm libffi test. Using NUM_FPR_ARG_REGISTERS rather than NUM_FPR_ARG_REGISTERS64 meant that a parameter save area could be allocated before it was strictly necessary. Wrong but harmless. Found when splitting apart ffi.c into 32-bit and 64-bit support.
ac753688 2013-11-21 06:12:35 This separates the 32-bit sysv/linux/bsd code from the 64-bit linux code, and makes it possible to link code compiled with different options to those used to compile libffi. For example, a -mlong-double-128 libffi can be used with -mlong-double-64 code. Using the return value area as a place to pass parameters wasn't such a good idea, causing a failure of cls_ulonglong.c. I didn't see this when running the mainline gcc libffi testsuite because that version of the test is inferior to the upstreamm libffi test. Using NUM_FPR_ARG_REGISTERS rather than NUM_FPR_ARG_REGISTERS64 meant that a parameter save area could be allocated before it was strictly necessary. Wrong but harmless. Found when splitting apart ffi.c into 32-bit and 64-bit support.
164283f4 2013-11-16 06: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..
db0ace3a 2013-11-16 06:29:25 Fix broken test cases
cdf405d5 2013-11-13 15:50:21 add a testcase for the double/float issue on ARMHF
c2422174 2013-11-02 14:08:23 Merge pull request #45 from foss-for-synopsys-dwc-arc-processors/arc_support arc: Fix build error
2f5626ce 2013-10-15 15:32:16 Fix testsuite bug
f64e4a86 2013-10-15 15:20:14 Fix many.c testcase for Aarch64
128cd1d2 2013-10-08 06:45:51 Fix spelling errors
d2fcbcdf 2013-10-08 06:27:46 Add m88k and VAX support. Update some configury bits.
dd26f1f3 2013-03-28 15:39:01 add a failing test for closures on ARM hardfloat
b9f01378 2013-03-25 13:27:36 add a testcase, that on ARM hardfloat needs more than the 8 VFP argument registers to pass arguments to a call
2fbdb0f2 2013-03-25 13:26:02 use the absolute value to check the test result against an epsilon
f308faf1 2013-02-11 14:25:13 Add moxie support. Release 3.0.12.
10e77227 2013-02-10 08:47:26 mend
a9521411 2013-02-09 06:54:40 sparc v8 and testsuite fixes
63ba1fa7 2013-02-08 15:18:19 Remove xfail for arm*-*-*.
7aab825c 2013-02-08 13:26:21 Add missing files to dist
95eecebb 2013-02-07 15:32:46 Remove a.out cruft from dist
f3a4f3fd 2013-02-07 09:57:20 Fixes for AIX xlc compiler.
522f8fef 2013-02-06 20:31:31 Fix man page. Clean out junk.
aeb8719a 2013-01-21 07:37:30 New microblaze support
40860245 2013-01-21 07:37:30 New microblaze support
f03eab08 2013-01-11 17:14:11 Remove obsolete inline test functions
05fbe1fa 2013-01-11 16:54:40 xlc compiler support
51415430 2013-01-10 07:35:53 Don't run EH tests with non-GNU compiler
8308984e 2013-01-08 15:14:21 Make sure we're running dejagnu tests with the right compiler.
f26c7ca6 2013-01-08 14:47:05 Make compiler options in dejagnu runs compiler specific
f7879bc3 2013-01-08 07:30:28 Testsuite fix for Solaris vendor compiler
0de3277b 2012-12-03 00: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>
ccee09a4 2013-01-02 08:41:55 +2012-03-21 Peter Rosin <peda@lysator.liu.se> + + * testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*] + (set_ld_library_path_env_vars): Add the library search dir to PATH + (and save PATH for later). + (restore_ld_library_path_env_vars): Restore PATH.
8bad679a 2013-01-02 08:28:35 New stand-alone patch
981c32ee 2013-01-02 07:34:03 Merge with GCC. Eliminate quilt bits.
69da33a0 2012-11-12 15:25:47 Pull in config.sub for aarch64 support and more
f680b598 2012-11-06 16:00:40 Add missing aarch64 configury bits
58e8b66f 2012-10-30 07:07:19 AArch64 port
fa5d7479 2012-10-30 07:07:19 AArch64 port
6993a668 2012-10-30 06:59:32 Fix autoconf macros
048d2f41 2012-10-11 10:55:25 Rebase
213ed15c 2012-04-27 01:34:15 Add blackfin supprt from Alexandre Keunecke.
a098b44f 2012-04-06 17:04:35 Reapply missing testsuite changes for arm
59bb61a3 2012-04-06 08:26:14 Update libtool version, README, tests dists
f2981454 2012-04-05 15:45:19 Revert debug code changes