Commit Graph

506 Commits

Author SHA1 Message Date
Richard Henderson ca46eab70b Fix libjava failures on i686-linux
* src/x86/ffi.c (ffi_raw_call): Fill in frame.

From-SVN: r219505
2015-01-12 16:26:31 -08:00
Richard Henderson b1760f7f91 Merge libffi to upstream commit c82cc159426d8d4402375fa1ae3f045b9cf82e16
From-SVN: r219477
2015-01-12 08:19:59 -08:00
H.J. Lu a699d67255 Always use PIC option with -shared in libtool
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-21 08:49:17 -08:00
Francois-Xavier Coudert ebf6d33b73 re PR target/63610 (Fixing the libtool bug for Yosemite (darwin14))
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-11-11 20:25:18 +00:00
Ian Lance Taylor bb8c2886db configure.ac: If the compiler supports -Qunused-arguments...
* configure.ac: If the compiler supports -Qunused-arguments, use
	it when running the compiler on .s files.
	* configure: Regenerated.

From-SVN: r216268
2014-10-15 15:32:41 +00:00
Jakub Jelinek 1138382be4 linux64.S: Emit .note.GNU-stack even when POWERPC64 is not defined.
* 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-09-11 11:03:49 +02:00
Uros Bizjak f54860ea96 ffi.c: Do not include stdlib.h.
* 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-25 11:01:45 +02:00
Thomas Schwinge a03bd0056c Normalize interface for all *-dg-runtest.
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-07-04 07:28:17 +02:00
Sebastian Huber 8ec7c36a53 libffi.exp (load_gcc_lib): Register loaded libs.
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-20 08:20:06 +00:00
Bernd Edlinger 54fde020cc Enable Java on Cygwin-64
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-05-13 16:23:11 +00:00
Jakub Jelinek f7468577f8 tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
* 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-04-24 23:17:32 +02:00
Yufeng Zhang 5309143d87 sysv.S (ffi_closure_SYSV): Use x29 as the main CFA reg; update cfi_rel_offset.
libffi/

	* src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the
	main CFA reg; update cfi_rel_offset.

From-SVN: r208515
2014-03-12 16:18:29 +00:00
Eric Botcazou 248d745ac2 re PR libffi/60073 (64-bit libffi.call/cls_double_va.c FAILs after recent 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-17 12:00:04 +00:00
Eric Botcazou 30255340f6 re PR libffi/60073 (64-bit libffi.call/cls_double_va.c FAILs after recent 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
2014-02-13 16:18:13 +00:00
Alan Modra e73d2479dd ffitarget.h: Import from upstream.
* 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-12-10 11:12:14 +10:30
Alan Modra fd4da58cd8 ppc_closure.S: Don't bl .Luint128.
* src/powerpc/ppc_closure.S: Don't bl .Luint128.

From-SVN: r204918
2013-11-18 01:14:03 +10:30
Alan Modra 3521ba8b2e PowerPC64 ELFv2 support
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-11-18 01:05:08 +10:30
Alan Modra 3cbe17f7de libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical ppc host match.
* 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-09-20 19:17:52 +09:30
Alan Modra 40b45a6d76 ffi.c (ffi_prep_args_SYSV): Move var declaration before statements.
* 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-06-25 09:38:47 +09:30
Dominique d'Humieres 1e1ba2d795 Fix several libffi testsuite failures on 64-bit SPARC and PowerPC (PR 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-05-22 11:47:52 +00:00
Kai Tietz 8280eba03b win64.S: Make use of ffi_closure_win64_inner symbol pc-relative.
* src/x86/win64.S: Make use of ffi_closure_win64_inner
	symbol pc-relative.

From-SVN: r196900
2013-03-22 10:38:55 +01:00
Dave Korn bb78d7c4a2 closures.c (is_emutramp_enabled [!FFI_MMAP_EXEC_EMUTRAMP_PAX]): Move default 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-03-07 22:25:20 +00:00
Andreas Tobler 8f093ea0b1 ffi.c (ffi_prep_cif_machdep): Fix case where DOUBLE equal LONGDOUBLE.
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-02-06 18:32:41 +01:00
Thorsten Glaser 7b045477e2 re PR libffi/56000 (FAIL: libffi.call/cls_uchar_va.c -O0 -W -Wall output 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
2013-01-17 19:24:08 +01:00
Andreas Schwab 4e70f25ffe * Makefile.am (ACLOCAL_AMFLAGS, TEXINFO_TEX, MAKEINFOFLAGS)
(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-29 16:25:27 +00:00
Anthony Green b4b575ce78 libffi merge
From-SVN: r194722
2012-12-26 16:28:02 +00:00
Alan Modra 7054d980c1 linux64_closure.S: Add new ABI support.
* src/powerpc/linux64_closure.S: Add new ABI support.
	* src/powerpc/linux64.S: Likewise.

From-SVN: r193015
2012-10-31 14:15:34 +10:30
David Edelsohn cbbd536a26 * configure: Regenerated.
From-SVN: r191320
2012-09-14 19:31:56 -04:00
Andrew Pinski c5a3fffaab re PR libffi/53014 (libffi failures on mips64-linux-gnu with soft-float)
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-26 11:29:21 -07:00
Uros Bizjak aa5d8db019 ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test, just return FFI_BAD_ABI 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-08-08 16:48:43 +02:00
Uros Bizjak 1ff8c79bc5 ChangeLog.libgcj: Move last two entries ...
* ChangeLog.libgcj: Move last two entries ...
	* ChangeLog: ... here.

From-SVN: r189627
2012-07-18 21:40:46 +02:00
Peter Bergner efe2a4b70e ffi.c (ffi_prep_args_SYSV): Declare double_tmp.
* 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-04-02 13:29:22 -05:00
Anthony Green 6adb730866 Restore trampled commits
From-SVN: r185955
2012-03-29 12:41:52 +00:00
David Edelsohn e555251484 Add missing ChangeLog entry from 2012-03-09 commit.
From-SVN: r185499
2012-03-17 20:45:24 -04:00
Kaz Kojima 60f9021b2a ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test, just return FFI_BAD_ABI 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-13 22:50:16 +00:00
Anthony Green 34fa7690ac Merge upstream libffi
From-SVN: r184897
2012-03-04 21:11:09 +00:00
Mikael Pettersson 2c2a780f7f re PR libffi/52223 (libffi's man page install breaks with multilibs and overridden mandir)
PR libffi/52223
	* Makefile.am (FLAGS_TO_PASS): Define.
	* Makefile.in: Regenerate.

From-SVN: r184592
2012-02-27 11:00:12 +01:00
Kai Tietz 9ebe314b13 Correct date in ChangeLog
From-SVN: r184527
2012-02-23 22:03:13 +01:00
Kai Tietz ffc81ae2c8 re PR libffi/52221 ([libffi] r183675,r184021 needs to be fixed.)
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-23 22:02:27 +01:00
Kai Tietz d86c2d9495 re PR libffi/52221 ([libffi] r183675,r184021 needs to be fixed.)
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-13 16:18:14 +01:00
Eric Botcazou a0dfc1fed5 * src/sparc/v9.S (STACKFRAME): Bump to 176.
From-SVN: r184129
2012-02-11 11:00:40 +00:00
Kai Tietz 1e98f62d74 configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64 windows target.
* configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
        windows target.
        * configure: Regenerated.

From-SVN: r184103
2012-02-10 17:44:08 +01:00
Kai Tietz 893f430128 prep_cif.c (ffi_prep_cif): Allow for X86_WIN32 also FFI_THISCALL.
* 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-02-08 22:35:19 +01:00
Kai Tietz 9b850dd969 ffi.c (ffi_call_win32): Add new argument to prototype for specify 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-29 14:29:53 +01:00
Andreas Schwab c1d5e72390 sysv.S (ffi_call_SYSV): Properly test for plain mc68000.
* 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-23 20:00:44 +00:00
Jakub Jelinek 01ddefeba7 re PR target/48496 ('asm' operand requires impossible reload)
PR rtl-optimization/48496
	* src/ia64/ffi.c (ffi_call): Fix up aliasing violations.

From-SVN: r183301
2012-01-19 11:47:59 +01:00
Rainer Orth 51a9af17e0 Build 64-bit libffi multilib for i?86-linux
* configure.ac (i?86-*-*): Set TARGET to X86_64.
	* configure: Regenerate.

From-SVN: r183017
2012-01-09 16:20:18 +00:00
Andrew Pinski 69090788c1 re PR libffi/50051 (MIPS libffi does not compile for mips64octeon-linux-gnu)
2011-12-07  Andrew Pinski  <apinski@cavium.com>

	PR libffi/50051
	* src/mips/n32.S: Add ".set mips4".

From-SVN: r182092
2011-12-07 14:59:06 -08:00
Andrew Pinski 3b21983d06 n32.S: Add ".set mips4".
2011-12-07  Andrew Pinski  <apinski@cavium.com>

	* src/mips/n32.S: Add ".set mips4".

From-SVN: r182091
2011-12-07 14:58:31 -08:00
Andreas Tobler c6084f681e Additional fixes for FreeBSD-10 build:
/:			* libtool.m4: Additional FreeBSD 10 fixes.

boehm-gc/:		* configure: Regenerate.
gcc/:			* configure: Regenerate.
libffi/:		* configure: Regenerate.
libgfortran/:		* configure: Regenerate.
libgomp/:		* configure: Regenerate.
libitm/:		* configure: Regenerate.
libjava/:		* configure.ac: Fix some more FreeBSD 10 issues..
			* configure: Regenerate.
libjava/libltdl/:	* acinclude.m4: Additional FreeBSD 10 fixes.
			* configure: Regenerate.
libmudflap/:		* configure: Regenerate.
libobjc/:		* configure: Regenerate.
libquadmath/:		* configure: Regenerate.
libssp/:		* configure: Regenerate.
libstdc++-v3/:		* configure: Regenerate.
lto-plugin/:		* configure: Regenerate.
zlib/:			* configure: Regenerate.

From-SVN: r181593
2011-11-21 20:22:35 +01:00