aboutsummaryrefslogtreecommitdiff
path: root/libffi
AgeCommit message (Collapse)AuthorFilesLines
2017-01-21re PR other/79046 (g++ -print-file-name=plugin uses full version number in path)Jakub Jelinek8-4/+42
PR other/79046 libatomic/ * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. libffi/ * configure.ac: Add GCC_BASE_VER. * include/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. * testsuite/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * Makefile.in: Regenerated. * man/Makefile.in: Regenerated. libgomp/ * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. libitm/ * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. libmpx/ * mpxrt/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * mpxwrap/Makefile.am (gcc_version): Likewise. * mpxrt/Makefile.in: Regenerated. * mpxwrap/Makefile.in: Regenerated. liboffloadmic/ * plugin/configure.ac: Add GCC_BASE_VER. * plugin/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * plugin/configure: Regenerated. * plugin/aclocal.m4: Regenerated. * plugin/Makefile.in: Regenerated. libsanitizer/ * interception/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * asan/Makefile.am (gcc_version): Likewise. * ubsan/Makefile.am (gcc_version): Likewise. * sanitizer_common/Makefile.am (gcc_version): Likewise. * lsan/Makefile.am (gcc_version): Likewise. * tsan/Makefile.am (gcc_version): Likewise. * interception/Makefile.in: Regenerated. * asan/Makefile.in: Regenerated. * ubsan/Makefile.in: Regenerated. * sanitizer_common/Makefile.in: Regenerated. * lsan/Makefile.in: Regenerated. * tsan/Makefile.in: Regenerated. libvtv/ * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. From-SVN: r244742
2016-11-15config-ml.in: Remove references to GCJ.Matthias Klose2-1/+4
<toplevel> 2016-11-15 Matthias Klose <doko@ubuntu.com> * config-ml.in: Remove references to GCJ. * configure.ac: Likewise. * configure: Regenerate. config/ 2016-11-15 Matthias Klose <doko@ubuntu.com> multi.m4: Don't set GCJ. gcc/ 2016-11-15 Matthias Klose <doko@ubuntu.com> * doc/install.texi: Remove references to gcj/libjava. * doc/invoke.texi: Likewise. */ (where necessary) 2016-11-15 Matthias Klose <doko@ubuntu.com> * configure: Regenerate. From-SVN: r242433
2016-09-04ffi.c (ffi_struct_type): Put type declaration on separate line.John David Anglin6-93/+224
* src/pa/ffi.c (ffi_struct_type): Put type declaration on separate line. (ffi_prep_args_pa32): Likewise. (ffi_size_stack_pa32): Likewise. (ffi_prep_cif_machdep): Likewise. (ffi_call): Likewise. Rename to ffi_call_int. Add closure argument and update call to ffi_call_pa32. (ffi_call, ffi_call_go, ffi_prep_go_closure): New. (ffi_closure_inner_pa32): Update to handle go closures. * src/pa/ffitarget.h (FFI_GO_CLOSURES): Define. * src/pa/hpux32.S (ffi_call_pa32): Pass go closure argument in static chain register (%ret1). (ffi_closure_pa32): Set closure type argument to zero. (ffi_go_closure_pa32): New function. Add unwind data for it. * src/pa/linux.S: Likewise. Use cfi directives for unwind data. * testsuite/libffi.go/static-chain.h (STATIC_CHAIN_REG): Define for hppa. From-SVN: r239978
2016-05-23[PR libffi/65567] libffi: Fix, and simply libffi_feature_testThomas Schwinge2-5/+11
libffi/ PR libffi/65567 * testsuite/lib/libffi.exp (libffi_feature_test): Fix, and simply. From-SVN: r236594
2016-03-17Summary: libffi: define FFI_SIZEOF_JAVA_RAW for aarch64 ILP32Andreas Schwab2-0/+6
* src/aarch64/ffitarget.h (FFI_SIZEOF_JAVA_RAW) [__ILP32__]: Define. From-SVN: r234282
2016-03-05libffi: Match upstream sonameRichard Henderson3-8/+13
* libtool-version: Increase to 7:0:0. * libffi.map.in: Increase version numbers to 7.0. From-SVN: r234009
2016-03-03Fix passing object names to make_sunver.plRainer Orth3-4/+8
* Makefile.am (libffi.map-sun): Properly convert $(libffi_la_OBJECTS) to object names. * Makefile.in: Regenerate. From-SVN: r233938
2016-03-03Tabify libffi/Makefile.amRainer Orth3-10/+15
* Makefile.am (libffi.map-sun): Tabify: * Makefile.in: Regenerate. From-SVN: r233936
2016-03-02re PR libffi/70024 (libffi ABI change w/o SONAME bump)Richard Henderson4-15/+31
PR libffi/70024 * Makefile.am (libffi_version_script): Look in cwd for libffi.map. (libffi_version_dep, libffi.map-sun): Likewise. (libffi.map): New target. * libffi.map.in: Rename from libffi.map. Add required defines, includes, and conditionals. From-SVN: r233926
2016-03-02re PR libffi/70024 (libffi ABI change w/o SONAME bump)Richard Henderson11-9/+965
PR libffi/70024 * Makefile.am (libffi_version_script): New. (libffi_version_dep): New. (libffi_version_info): New. (libffi_la_LDFLAGS): Include libffi_version_info, libffi_version_script. (libffi_la_DEPENDENCIES): Include libffi_version_dep. * acinclude.m4 (LIBAT_ENABLE, LIBAT_CHECK_LINKER_FEATURES): New. (LIBAT_ENABLE_SYMVERS, LIBAT_BUILD_VERSIONED_SHLIB): New. (LIBAT_BUILD_VERSIONED_SHLIB_GNU): New. (LIBAT_BUILD_VERSIONED_SHLIB_SUN): New. * configure.ac: Invoke LIBAT_ENABLE_SYMVERS. * libffi.map: New file. * libtool-version: Increase to 5.0.0. * Makefile.in, configure: Rebuild. * man/Makefile.in, testsuite/Makefile.in: Rebuild. From-SVN: r233921
2015-10-27re PR libffi/65441 (FAIL: libffi.call/float2.c -W -Wall -Wno-psabi (test for ↵John David Anglin3-1/+8
excess errors)) PR libffi/65441 * testsuite/lib/libffi.exp: Load target-supports-dg.exp. * testsuite/libffi.call/float2.c: Don't run on hppa*-*-hpux*. From-SVN: r229400
2015-10-01[RS6000] Correct powerpc sysv stack argument accountingAlan Modra2-109/+104
ppc32 starts using the stack for integer arg passing when we run out of integer arg passing registers. Similarly, we start using the stack for floating point args when we run out of floating point registers. The decision on where an integer arg goes does not depend on number of floating point args, nor does the decision on where a floating point arg goes depend on number of integer args. Alignment of stack args also simply depends on number of stack args. This patch untangles the horrible mess we had, with intarg_count being wrongly used to count both integer args and stack words. * src/powerpc/ffi_sysv.c (ffi_prep_cif_sysv_core): Count fprs, gprs, and stack words separately. (ffi_prep_args_SYSV): Similarly. From-SVN: r228307
2015-05-13libffi: Bump to automake 1.11.6Michael Haubenwallner8-114/+295
2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> * Makefile.in: Regenerated with automake-1.11.6. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * include/Makefile.in: Likewise. * man/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. From-SVN: r223142
2015-03-29re PR libffi/65567 (ERROR: tcl error sourcing ↵John David Anglin2-1/+7
/test/gnu/gcc/gcc/libffi/testsuite/libffi.complex/complex.exp) PR libffi/65567 * testsuite/lib/libffi.exp (libffi_feature_test): Use split to ensure lindex is applied to a list. From-SVN: r221765
2015-02-10ffitarget.h (ffi_arg): Use unsigned long long for ILP32.Andrew Pinski3-3/+32
2015-02-10 Andrew Pinski <apinski@cavium.com> * src/aarch64/ffitarget.h (ffi_arg): Use unsigned long long for ILP32. (FFI_SIZEOF_ARG): Define to 64 for ILP32. (ffi_sarg): Use signed long long for ILP32. * src/aarch64/sysv.S (PTR_REG): New macro. (PTR_SIZE): New macro. (ffi_closure_SYSV): Load cif, fn and user_data using PTR_REG. (ffi_go_closure_SYSV): Load cif and fn using PTR_REG. From-SVN: r220598
2015-01-29re PR libffi/64855 (FAIL: libffi.call/* -W -Wall -Wno-psabi -O0 -DABI_NUM=* ↵Jack Howarth2-1/+6
-DABI_ATTR=* execution test on x86_64-apple-darwin*) 2015-01-29 Jack Howarth <howarth.at.gcc@gmail.com> PR libffi/64855 * testsuite/lib/libffi.exp: Don't set targetabis on darwin. From-SVN: r220264
2015-01-28Mark prs in changelog entryRichard Henderson1-0/+2
From-SVN: r220223
2015-01-28Merge with upstream libffi db1b34b7e1f5e473d17557e454a29933dfecd1afRichard Henderson9-174/+467
Includes build fixes for Solaris and FreeBSD. From-SVN: r220222
2015-01-27Correctly check for 32-bit x86Rainer Orth2-1/+8
* testsuite/lib/libffi.exp: Load target-supports.exp. (run-many-tests): Only set targetabis for ia32. From-SVN: r220158
2015-01-20re PR libffi/64581 (libffi/testsuite/libffi.special/special.exp doesn't use ↵Richard Henderson2-4/+6
newly built GCC) PR libffi/64581 * testsuite/lib/libffi.exp (libffi_target_compile): Don't switch to C++ mode when compiling C++ source code. From-SVN: r219915
2015-01-19Merge with upstream libffi 3ac1610aa33c887ea9b14935208943925714a33eRichard Henderson6-93/+252
Includes build fixes for Solaris and Cygwin. From-SVN: r219860
2015-01-19re PR libffi/64607 (Multilib test stops working in libffi)Richard Henderson2-0/+7
PR libffi/64607 * testsuite/lib/libffi.exp (libffi-init): Append -L for the just built libstdc++. From-SVN: r219852
2015-01-16re PR libffi/64607 (Multilib test stops working in libffi)Dominique d'Humieres3-66/+73
PR libffi/64607 * Makefile.am (AM_MAKEFLAGS): Use double quotes on subvariables. * Makefile.in: Rebuilt. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r219772
2015-01-15re PR libffi/64572 (r219477 breaks bootstrap on x86_64 darwin)Richard Henderson2-1/+13
PR libffi/64572 * include/ffi.h.in (FFI_TYPE_LAST): Set to COMPLEX only if complex numbers are supported by the backend. From-SVN: r219688
2015-01-13configure.host: Remove extra brackets for sh.Kaz Kojima2-1/+5
* libffi/configure.host: Remove extra brackets for sh. From-SVN: r219565
2015-01-13Set TARGET to X86_64 if __x86_64__ is definedH.J. Lu2-1/+12
PR bootstrap/64575 * configure.host (TARGET): Set to X86_64 if __x86_64__ is defined. From-SVN: r219539
2015-01-13re PR libffi/64572 (r219477 breaks bootstrap on x86_64 darwin)Richard Henderson2-4/+13
PR libffi/64572 * src/x86/ffitarget.h (FFI_GO_CLOSURES): Do not define for darwin. (FFI_TARGET_HAS_COMPLEX_TYPE): Likewise. From-SVN: r219538
2015-01-12Fix libjava failures on i686-linuxRichard Henderson2-0/+8
* src/x86/ffi.c (ffi_raw_call): Fill in frame. From-SVN: r219505
2015-01-12Merge libffi to upstream commit c82cc159426d8d4402375fa1ae3f045b9cf82e16Richard Henderson221-15885/+22974
From-SVN: r219477
2014-11-21Always use PIC option with -shared in libtoolH.J. Lu2-1/+6
Libtool needs to pass PIC option -shared when creating shared object to link regular object files with slim-lto archive. PR bootstrap/63784 * libtool.m4: Add $pic_flag with -shared. boehm-gc/ PR bootstrap/63784 * configure: Regenerated. gcc/ PR bootstrap/63784 * configure: Regenerated. libatomic/ PR bootstrap/63784 * configure: Regenerated. libbacktrace/ PR bootstrap/63784 * configure: Regenerated. libcc1/ PR bootstrap/63784 * configure: Regenerated. libcilkrts/ PR bootstrap/63784 * configure: Regenerated. libffi/ PR bootstrap/63784 * configure: Regenerated. libgfortran/ PR bootstrap/63784 * configure: Regenerated. libgomp/ PR bootstrap/63784 * configure: Regenerated. libitm/ PR bootstrap/63784 * configure: Regenerated. libjava/ PR bootstrap/63784 * configure: Regenerated. libjava/classpath/ PR bootstrap/63784 * configure: Regenerated. libobjc/ PR bootstrap/63784 * configure: Regenerated. libquadmath/ PR bootstrap/63784 * configure: Regenerated. libsanitizer/ PR bootstrap/63784 * configure: Regenerated. libssp/ PR bootstrap/63784 * configure: Regenerated. libstdc++-v3/ PR bootstrap/63784 * configure: Regenerated. libvtv/ PR bootstrap/63784 * configure: Regenerated. lto-plugin/ PR bootstrap/63784 * configure: Regenerated. From-SVN: r217937
2014-11-11re PR target/63610 (Fixing the libtool bug for Yosemite (darwin14))Francois-Xavier Coudert2-1/+6
toplevel: 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * libtool.m4: Fix globbing of darwin versions. boehm-gc/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. gcc/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libatomic/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libbacktrace/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libcc1/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libcilkrts/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libffi/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libgfortran/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libgomp/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libitm/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libobjc/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libquadmath/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libsanitizer/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libssp/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libstdc++-v3/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libvtv/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. lto-plugin/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libjava/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libjava/classpath/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. zlib/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. From-SVN: r217366
2014-10-15configure.ac: If the compiler supports -Qunused-arguments...Ian Lance Taylor3-0/+57
* configure.ac: If the compiler supports -Qunused-arguments, use it when running the compiler on .s files. * configure: Regenerated. From-SVN: r216268
2014-09-11linux64.S: Emit .note.GNU-stack even when POWERPC64 is not defined.Jakub Jelinek3-4/+12
* src/powerpc/linux64.S: Emit .note.GNU-stack even when POWERPC64 is not defined. * src/powerpc/linux64_closure.S: Likewise. Also test _CALL_ELF == 2. From-SVN: r215155
2014-07-25ffi.c: Do not include stdlib.h.Uros Bizjak2-2/+6
* src/alpha/ffi.c: Do not include stdlib.h. (ffi_closure_osf_inner) <default>: Use FFI_ASSERT instead of abort. From-SVN: r213049
2014-07-04Normalize interface for all *-dg-runtest.Thomas Schwinge2-4/+9
gcc/testsuite/ * lib/g++-dg.exp (g++-dg-runtest): Change interface to match dg-runtest's. Adapt all callers. * lib/gcc-dg.exp (gcc-dg-runtest): Likewise. * lib/gfortran-dg.exp (gfortran-dg-runtest): Likewise. * lib/go-dg.exp (go-dg-runtest): Likewise. * lib/obj-c++-dg.exp (obj-c++-dg-runtest): Likewise. * lib/objc-dg.exp (objc-dg-runtest): Likewise. libffi/ * testsuite/lib/libffi.exp (libffi-dg-runtest): Change interface match to dg-runtest's. From-SVN: r212278
2014-05-20libffi.exp (load_gcc_lib): Register loaded libs.Sebastian Huber2-1/+7
2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de> libffi/ * testsuite/lib/libffi.exp (load_gcc_lib): Register loaded libs. libjava/ * testsuite/lib/libjava.exp (load_gcc_lib): Register loaded libs. libstdc++-v3/ * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs. From-SVN: r210634
2014-05-13Enable Java on Cygwin-64Bernd Edlinger4-61/+122
Currently it is not possible to build GCC's libjava support on Cygwin-64. This patch fixes the current build-problems on Cygwin-64 and the most fundamental bugs on that platform. Note you must still add --enable-threads=posix to successfully build the java language support. boehm-gc/ChangeLog: 2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de> Fix current cygwin-64 build problems. * include/gc_config_macros.h (GC_PTHREADS): Use __CYGWIN__ instead of __CYGWIN32__ here. * win32_threads.c (GC_push_all_stacks): Push all X86_64 registers. (GC_get_thread_stack_base): Get the stack base for X86_64. libffi/ChangeLog: 2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de> Fix current cygwin-64 build problems. * src/java_raw_api.c: Remove if !defined(FFI_NO_RAW_API). * src/x86/ffi.c: Add if defined(__CYGWIN__). * src/x86/win64.S (ffi_closure_win64, ffi_call_win64): Added handling for FFI_TYPE_UINT64, FFI_TYPE_POINTER and FFI_TYPE_INT. Added SEH information. Fixed formatting. libgcc/ChangeLog: 2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de> * unwind-seh.c (_Unwind_Backtrace): Uncommented, finished implementation. libjava/ChangeLog: 2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de> Fix current cygwin-64 build problems. * configure.host: Added handling for x86_64-*-cygwin/mingw. * boehm.cc (_Jv_GCAttachThread, _Jv_GCDetachThread): Don't compile if GC_WIN32_THREADS is defined. * java/lang/natClass.cc (_Jv_InterfaceAssignableFrom): Rename interface to source_interface. libjava/classpath/ChangeLog: 2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de> Fix current cygwin-64 build problems. * native/fdlibm/mprec.c (_REENT_CHECK_MP, _REENT_MP_FREELIST, _REENT_MP_P5S, __ULong, __Long): Undefine previous definitions. From-SVN: r210386
2014-04-24tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.Jakub Jelinek6-375/+49
* tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define. * gimplify.c (omp_is_private): Change last argument's type to int. Only diagnose lastprivate if the simd argument is 1, only diagnose linear if the simd argument is 2. (gimplify_omp_for): Adjust omp_is_private callers. When adding lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1 create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var. If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ. * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle OMP_CLAUSE_LINEAR_GIMPLE_SEQ. * tree-nested.c (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR. * testsuite/libgomp.c/simd-7.c: New test. * testsuite/libgomp.c/simd-8.c: New test. * testsuite/libgomp.c/simd-9.c: New test. * testsuite/libgomp.c/loop-16.c: New test. From-SVN: r209760
2014-03-12sysv.S (ffi_closure_SYSV): Use x29 as the main CFA reg; update cfi_rel_offset.Yufeng Zhang2-4/+9
libffi/ * src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the main CFA reg; update cfi_rel_offset. From-SVN: r208515
2014-02-17re PR libffi/60073 (64-bit libffi.call/cls_double_va.c FAILs after recent ↵Eric Botcazou5-187/+257
modification) PR libffi/60073 * src/sparc/v8.S: Assemble only if !SPARC64. * src/sparc/v9.S: Remove obsolete comment. * src/sparc/ffitarget.h (enum ffi_abi): Add FFI_COMPAT_V9. (V8_ABI_P): New macro. (V9_ABI_P): Likewise. (FFI_EXTRA_CIF_FIELDS): Define only if SPARC64. * src/sparc/ffi.c (ffi_prep_args_v8): Compile only if !SPARC64. (ffi_prep_args_v9): Compile only if SPARC64. (ffi_prep_cif_machdep_core): Use V9_ABI_P predicate. (ffi_prep_cif_machdep): Guard access to nfixedargs field. (ffi_prep_cif_machdep_var): Likewise. (ffi_v9_layout_struct): Compile only if SPARC64. (ffi_call): Deal with FFI_V8PLUS and FFI_COMPAT_V9 and fix warnings. (ffi_prep_closure_loc): Use V9_ABI_P and V8_ABI_P predicates. (ffi_closure_sparc_inner_v8): Compile only if !SPARC64. (ffi_closure_sparc_inner_v9): Compile only if SPARC64. Guard access to nfixedargs field. From-SVN: r207822
2014-02-13re PR libffi/60073 (64-bit libffi.call/cls_double_va.c FAILs after recent ↵Eric Botcazou4-12/+45
modification) PR libffi/60073 * src/sparc/ffitarget.h (FFI_TARGET_SPECIFIC_VARIADIC): Define. (FFI_EXTRA_CIF_FIELDS): Likewise. (FFI_NATIVE_RAW_API): Move around. * src/sparc/ffi.c (ffi_prep_cif_machdep_core): New function from... (ffi_prep_cif_machdep): ...here. Call ffi_prep_cif_machdep_core. (ffi_prep_cif_machdep_var): New function. (ffi_closure_sparc_inner_v9): Do not pass anonymous FP arguments in FP registers. * doc/libffi.texi (Introduction): Fix inaccuracy. From-SVN: r207763
2013-12-10ffitarget.h: Import from upstream.Alan Modra21-1782/+2187
* src/powerpc/ffitarget.h: Import from upstream. * src/powerpc/ffi_powerpc.h: Likewise. * src/powerpc/ffi.c: Likewise. * src/powerpc/ffi_sysv.c: Likewise. * src/powerpc/ffi_linux64.c: Likewise. * src/powerpc/sysv.S: Likewise. * src/powerpc/ppc_closure.S: Likewise. * src/powerpc/linux64.S: Likewise. * src/powerpc/linux64_closure.S: Likewise. * src/types.c: Likewise. * Makefile.am (EXTRA_DIST): Add new src/powerpc files. (nodist_libffi_la_SOURCES <POWERPC, POWERPC_FREEBSD>): Likewise. * configure.ac (HAVE_LONG_DOUBLE_VARIANT): Define for powerpc. * include/ffi.h.in (ffi_prep_types): Declare. * src/prep_cif.c (ffi_prep_cif_core): Call ffi_prep_types. * configure: Regenerate. * fficonfig.h.in: Regenerate. * Makefile.in: Regenerate. * man/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. From-SVN: r205844
2013-11-18ppc_closure.S: Don't bl .Luint128.Alan Modra2-1/+3
* src/powerpc/ppc_closure.S: Don't bl .Luint128. From-SVN: r204918
2013-11-18PowerPC64 ELFv2 supportAlan Modra8-350/+860
PowerPC64 ELFv2 support * 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. From-SVN: r204917
2013-09-20libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical ppc host match.Alan Modra2-5/+15
* libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical ppc host match. Support little-endian powerpc linux hosts. Regenerate configure throughout. From-SVN: r202773
2013-06-25ffi.c (ffi_prep_args_SYSV): Move var declaration before statements.Alan Modra4-7/+93
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Move var declaration before statements. (ffi_prep_args64): Support little-endian. (ffi_closure_helper_SYSV, ffi_closure_helper_LINUX64): Likewise. * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Likewise. * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Likewise. From-SVN: r200383
2013-05-22Fix several libffi testsuite failures on 64-bit SPARC and PowerPC (PR ↵Dominique d'Humieres5-5/+15
libffi/56033) PR libffi/56033 * testsuite/libffi.call/cls_struct_va1.c (test_fn): Cast resp to ffi_arg *. * testsuite/libffi.call/cls_uint_va.c (cls_ret_T_fn): Likewise. * testsuite/libffi.call/va_1.c (main): Change res to ffi_arg. * testsuite/libffi.call/va_struct1.c (main): Likewise. Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> From-SVN: r199194
2013-03-22win64.S: Make use of ffi_closure_win64_inner symbol pc-relative.Kai Tietz2-1/+6
* src/x86/win64.S: Make use of ffi_closure_win64_inner symbol pc-relative. From-SVN: r196900
2013-03-07closures.c (is_emutramp_enabled [!FFI_MMAP_EXEC_EMUTRAMP_PAX]): Move default ↵Dave Korn2-2/+9
definition outside enclosing #if scope. * src/closures.c (is_emutramp_enabled [!FFI_MMAP_EXEC_EMUTRAMP_PAX]): Move default definition outside enclosing #if scope. From-SVN: r196527
2013-02-06ffi.c (ffi_prep_cif_machdep): Fix case where DOUBLE equal LONGDOUBLE.Andreas Tobler2-0/+7
2013-02-06 Andreas Tobler <andreast@fgznet.ch> * src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix case where DOUBLE equal LONGDOUBLE. From-SVN: r195812