aboutsummaryrefslogtreecommitdiff
path: root/libffi
AgeCommit message (Collapse)AuthorFilesLines
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
2013-01-17re PR libffi/56000 (FAIL: libffi.call/cls_uchar_va.c -O0 -W -Wall output ↵Thorsten Glaser4-9/+15
pattern test) 2013-01-07 Thorsten Glaser <tg@mirbsd.org> PR middle-end/56000 * testsuite/libffi.call/cls_uchar_va.c, testsuite/libffi.call/cls_ushort_va.c, testsuite/libffi.call/va_1.c: Testsuite fixes. From-SVN: r195277
2012-12-29* Makefile.am (ACLOCAL_AMFLAGS, TEXINFO_TEX, MAKEINFOFLAGS)Andreas Schwab14-280/+988
(STAMP_GENINSRC, STAMP_BUILD_INFO, CLEANFILES) (MAINTAINERCLEANFILES): Define. (all-local, stamp-geninsrc, stamp-build-info): New targets. (doc/libffi.info): Depend on $(STAMP_BUILD_INFO) * configure.ac: Check for modern makeinfo. Add support for --enable-generated-files-in-srcdir. * libffi/mdate-sh: New file. * testsuite/lib/libffi.exp (load_gcc_lib): Load from gcc testsuite lib dir. (libffi-init): Properly set library paths for multilibs and add path to libstdc++. * configure: Regenerate. * aclocal.m4: Regenerate. * Makefile.in: Regenerate. * doc/stamp-vti: Regenerate. * doc/version.texi: Regenerate. * fficonfig.h.in: Regenerate. * include/Makefile.in: Regenerate. * man/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. From-SVN: r194752
2012-12-26libffi mergeAnthony Green123-654/+6789
From-SVN: r194722
2012-10-31linux64_closure.S: Add new ABI support.Alan Modra3-4/+42
* src/powerpc/linux64_closure.S: Add new ABI support. * src/powerpc/linux64.S: Likewise. From-SVN: r193015
2012-09-14* configure: Regenerated.David Edelsohn2-2/+7
From-SVN: r191320
2012-08-26re PR libffi/53014 (libffi failures on mips64-linux-gnu with soft-float)Andrew Pinski2-2/+15
2012-08-26 Andrew Pinski <apinski@cavium.com> PR libffi/53014 * src/mips/ffi.c (ffi_prep_closure_loc): Allow n32 with soft-float and n64 with soft-float. From-SVN: r190696
2012-08-08ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test, just return FFI_BAD_ABI ↵Uros Bizjak2-1/+7
when things are wrong. * src/s390/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test, just return FFI_BAD_ABI when things are wrong. From-SVN: r190230
2012-07-18ChangeLog.libgcj: Move last two entries ...Uros Bizjak2-12/+11
* ChangeLog.libgcj: Move last two entries ... * ChangeLog: ... here. From-SVN: r189627
2012-07-18Define FFI_SIZEOF_JAVA_RAW to 4 for x32H.J. Lu2-1/+10
PR libffi/53982 PR libffi/53973 * src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for x32. (FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32. From-SVN: r189626
2012-05-16Regenerate configure files for libtool.m4 changeH.J. Lu2-3/+14
boehm-gc/ * configure: Regenerated. gcc/ * configure: Regenerated. libatomic/ * configure: Regenerated. libffi/ * configure: Regenerated. libgfortran/ * configure: Regenerated. libgomp/ * configure: Regenerated. libitm/ * configure: Regenerated. libjava/classpath/ * configure: Regenerated. libjava/ * configure: Regenerated. libmudflap/ * configure: Regenerated. libobjc/ * configure: Regenerated. libquadmath/ * configure: Regenerated. libssp/ * configure: Regenerated. libstdc++-v3/ * configure: Regenerated. lto-plugin/ * configure: Regenerated. zlib/ * configure: Regenerated. From-SVN: r187616
2012-04-02ffi.c (ffi_prep_args_SYSV): Declare double_tmp.Peter Bergner2-7/+14
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Declare double_tmp. Silence casting pointer to integer of different size warning. Delete goto to previously deleted label. (ffi_call): Silence possibly undefined warning. (ffi_closure_helper_SYSV): Declare variable type. From-SVN: r186091
2012-03-29Restore trampled commitsAnthony Green4-7/+78
From-SVN: r185955
2012-03-17Add missing ChangeLog entry from 2012-03-09 commit.David Edelsohn1-0/+6
From-SVN: r185499
2012-03-13ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test, just return FFI_BAD_ABI ↵Kaz Kojima3-4/+12
when things are wrong. * src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test, just return FFI_BAD_ABI when things are wrong. * src/sh64/ffi.c (ffi_prep_closure_loc): Ditto. From-SVN: r185361
2012-03-09aix_closure.S (ffi_closure_ASM): Adjust for Darwin64 change to return value ↵David Edelsohn1-1/+3
of ffi_closure_helper_DARWIN and... * src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64 change to return value of ffi_closure_helper_DARWIN and load type from return type. From-SVN: r185152
2012-03-04Merge upstream libffiAnthony Green63-636/+6319
From-SVN: r184897
2012-02-27re PR libffi/52223 (libffi's man page install breaks with multilibs and ↵Mikael Pettersson3-0/+12
overridden mandir) PR libffi/52223 * Makefile.am (FLAGS_TO_PASS): Define. * Makefile.in: Regenerate. From-SVN: r184592
2012-02-23Correct date in ChangeLogKai Tietz1-1/+1
From-SVN: r184527
2012-02-23re PR libffi/52221 ([libffi] r183675,r184021 needs to be fixed.)Kai Tietz3-4/+45
PR libffi/52221 * src/x86/ffi.c (ffi_closure_raw_THISCALL): New prototype. (ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for thiscall-convention. (ffi_raw_call): Use ffi_prep_args_raw. * src/x86/win32.S (ffi_closure_raw_THISCALL): Add implementation for stub. From-SVN: r184526
2012-02-13re PR libffi/52221 ([libffi] r183675,r184021 needs to be fixed.)Kai Tietz2-3/+23
PR libffi/52221 * src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall support for X86_WIN32. (FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement. From-SVN: r184155
2012-02-11* src/sparc/v9.S (STACKFRAME): Bump to 176.Eric Botcazou2-1/+5
From-SVN: r184129
2012-02-10configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64 windows target.Kai Tietz3-0/+24
* configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64 windows target. * configure: Regenerated. From-SVN: r184103
2012-02-08prep_cif.c (ffi_prep_cif): Allow for X86_WIN32 also FFI_THISCALL.Kai Tietz6-1/+143
* src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32 also FFI_THISCALL. * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype. (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code. (ffi_prep_closure_loc): Add FFI_THISCALL support. * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size. * src/x86/win32.S (ffi_closure_THISCALL): New closure code for thiscall-calling convention. * testsuite/libffi.call/closure_thiscall.c: New test. From-SVN: r184021
2012-01-29ffi.c (ffi_call_win32): Add new argument to prototype for specify ↵Kai Tietz11-19/+596
calling-convention. * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new argument to prototype for specify calling-convention. (ffi_call): Add support for stdcall/thiscall convention. (ffi_prep_args): Likewise. (ffi_raw_call): Likewise. * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and FFI_FASTCALL. * src/x86/win32.S (_ffi_call_win32): Add support for fastcall/thiscall calling-convention calls. * testsuite/libffi.call/fastthis1_win32.c: New test. * testsuite/libffi.call/fastthis2_win32.c: New test. * testsuite/libffi.call/fastthis3_win32.c: New test. * testsuite/libffi.call/strlen2_win32.c: New test. * testsuite/libffi.call/many2_win32.c: New test. * testsuite/libffi.call/struct1_win32.c: New test. * testsuite/libffi.call/struct2_win32.c: New test. From-SVN: r183676
2012-01-23sysv.S (ffi_call_SYSV): Properly test for plain mc68000.Andreas Schwab2-8/+13
* src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain mc68000. Test for __HAVE_68881__ in addition to __MC68881__. From-SVN: r183451
2012-01-19re PR target/48496 ('asm' operand requires impossible reload)Jakub Jelinek2-3/+12
PR rtl-optimization/48496 * src/ia64/ffi.c (ffi_call): Fix up aliasing violations. From-SVN: r183301