Commit Graph

289 Commits

Author SHA1 Message Date
Bo Thorsen c94974caed [multiple changes]
2002-07-16  Bo Thorsen  <bo@suse.de>

	* src/x86/ffi64.c: New file that adds x86-64 support.
	* src/x86/unix64.S: New file that handles argument setup for
	x86-64.
	* src/x86/sysv.S: Don't use this on x86-64.
	* src/x86/ffi.c: Don't use this on x86-64.
	Remove unused vars.
	* src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
	for x86-64.
	* src/ffitest.c (struct6): New test that tests a special case in
	the x86-64 ABI.
	(struct7): Likewise.
	(struct8): Likewise.
	(struct9): Likewise.
	(closure_test_fn): Silence warning about this when it's not used.
	(main): Add the new tests.
	(main): Fix a couple of wrong casts and silence some compiler warnings.
	* include/ffi.h.in: Add x86-64 ABI definition.
	* fficonfig.h.in: Regenerate.
	* Makefile.am: Add x86-64 support.
	* configure.in: Likewise.
	* Makefile.in: Regenerate.
	* configure: Likewise.

2002-06-24  Bo Thorsen  <bo@suse.de>

	* src/types.c: Merge settings for similar architectures.
	Add x86-64 sizes and alignments.

2002-06-23  Bo Thorsen  <bo@suse.de>

	* src/arm/ffi.c (ffi_prep_args): Remove unused vars.
	* src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
	* src/mips/ffi.c (ffi_prep_args): Likewise.
	* src/m68k/ffi.c (ffi_prep_args): Likewise.

From-SVN: r55571
2002-07-19 01:08:31 +02:00
H.J. Lu 5be36a8f27 Makefile.am (TARGET_SRC_MIPS_LINUX): New.
2002-07-18  H.J. Lu  (hjl@gnu.org)

	* Makefile.am (TARGET_SRC_MIPS_LINUX): New.
	(libffi_la_SOURCES): Support MIPS_LINUX.
	(libffi_convenience_la_SOURCES): Likewise.
	* Makefile.in: Regenerated.

	* configure.in (mips64*-*): Skip.
	(mips*-*-linux*): New.
	* configure: Regenerated.

	* src/mips/ffi.c: Include <sgidefs.h>.

From-SVN: r55561
2002-07-18 10:55:28 -07:00
Ulrich Weigand ad5e163ca6 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
From-SVN: r54317
2002-06-06 12:51:23 +00:00
Bo Thorsen 4075db8f84 Fix last commit. Sorry about that.
From-SVN: r53946
2002-05-28 09:11:42 +02:00
Roger Sayle ee4586c531 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
From-SVN: r53942
2002-05-28 02:02:46 +00:00
Bo Thorsen b86aa7b048 ffi.c (ffi_prep_args): Remove unused variable and fix formatting.
2002-05-27  Bo Thorsen  <bo@suse.de>

	* src/x86/ffi.c (ffi_prep_args): Remove unused variable and
	fix formatting.

From-SVN: r53926
2002-05-27 15:54:44 +02:00
Andreas Tobler 859f7aaf41 ffi_darwin.c (ffi_prep_closure): Declare fd at beginning of function (for older apple cc).
2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>

        * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
        beginning of function (for older apple cc).

From-SVN: r53430
2002-05-13 16:19:10 -04:00
Gerhard Tonn 22bcf65c52 Makefile.am: Add Linux for S/390 support.
2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>

	* Makefile.am: Add Linux for S/390 support.
	* Makefile.in: Regenerate.
	* configure.in: Add Linux for S/390 support.
	* configure: Regenerate.
	* include/ffi.h.in: Add Linux for S/390 support.
	* src/s390/ffi.c: New file from libffi CVS tree.
	* src/s390/sysv.S: New file from libffi CVS tree.

From-SVN: r52873
2002-04-29 05:14:44 +01:00
Jakub Jelinek 5d84cf0b8d configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working %r_disp32().
* configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
	%r_disp32().
	* src/sparc/v8.S: Use it.
	* src/sparc/v9.S: Likewise.
	* fficonfig.h.in: Rebuilt.
	* configure: Rebuilt.

From-SVN: r52858
2002-04-28 21:57:42 +02:00
Hans Boehm cc382e5c1a java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE correctly.
* src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
	correctly.
	* src/ia64/unix.S: Add unwind information. Fix comments.
	Save sp in a way that's compatible with unwind info.
	(ffi_call_unix): Correctly restore sp in all cases.
	* src/ia64/ffi.c: Add, fix comments.

From-SVN: r52048
2002-04-08 23:59:13 +00:00
Jakub Jelinek dc79864588 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
From-SVN: r52041
2002-04-08 22:24:17 +02:00
Jeff Sturm 0c0b87addd v8.S: Add unwind info.
* src/sparc/v8.S: Add unwind info.
	* src/sparc/v9.S: Likewise.

From-SVN: r51873
2002-04-04 21:19:13 +00:00
David Billinghurst c75e51ed68 re PR other/2620 (Filenames differ only in case)
2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>

	PR other/2620
	* src/mips/n32.s: Delete
	* src/mips/o32.s: Delete

From-SVN: r51537
2002-03-29 00:39:57 +00:00
Andreas Tobler 073ae293d9 Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
	    David Edelsohn  <edelsohn@gnu.org>

	* Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
	(TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
	(TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
	* Makefile.in: Regenerate.
	* include/ffi.h.in: Add AIX and Darwin closure definitions.
	* src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
	(flush_icache, flush_range): New functions.
	(ffi_closure_helper_DARWIN): New function.
	* src/powerpc/aix_closure.S: New file.
	* src/powerpc/darwin_closure.S: New file.

Co-Authored-By: David Edelsohn <edelsohn@gnu.org>

From-SVN: r50408
2002-03-07 13:24:42 -05:00
Jeff Sturm 02c521f439 ffi.h.in: Add typedef for ffi_arg.
* include/ffi.h.in: Add typedef for ffi_arg.
        * src/ffitest.c (main): Declare rint with ffi_arg.

From-SVN: r50006
2002-02-24 17:31:45 +00:00
Andreas Tobler 287dd527bd ffi_darwin.c (ffi_prep_args): Skip appropriate number of GPRs for floating-point arguments.
2002-02-21  Andreas Tobler  <toa@pop.agri.ch>

        * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
        number of GPRs for floating-point arguments.

From-SVN: r49934
2002-02-21 14:14:28 -05:00
David Edelsohn 1f7d54133e - Symmetrically define ffi_call_DARWIN for AIX.
From-SVN: r48993
2002-01-18 13:41:11 -05:00
David Edelsohn 15b9b32f43 - Provide a null definition of _ffi_call_AIX so that Darwin link won't fail.
From-SVN: r48989
2002-01-18 11:22:34 -05:00
David Edelsohn 2f4006f8c7 Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
* Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
        (TARGET_SRC_POWERPC_AIX): New.
        (POWERPC_AIX): New stanza.
        * Makefile.in: Regenerate.
        * configure.in: Add AIX case.
        * configure: Regenerate.
        * include/ffi.h.in (ffi_abi): Add FFI_AIX.
        * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
        size.  Fix "long double" support.
        (ffi_call): Add FFI_AIX case.
        * src/powerpc/aix.S: New.

From-SVN: r48956
2002-01-17 11:04:21 -05:00
John Hornkvist 3c017635c9 Implement Darwin PowerPC ABI.
2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>

        Implement Darwin PowerPC ABI.
        * configure.in: Handle powerpc-*-darwin*.
        * Makefile.am: Set source files for POWERPC_DARWIN.
        * configure: Rebuilt.
        * Makefile.in: Rebuilt.
        * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
        POWERPC_DARWIN.
        * src/powerpc/darwin.S: New file.
        * src/powerpc/ffi_darwin.c: New file.

From-SVN: r46112
2001-10-09 06:32:16 +01:00
Joseph Myers cc712abf04 acinclude.m4: Fix spelling error of "separate" as "seperate".
config:
	* acinclude.m4: Fix spelling error of "separate" as "seperate".

gcc:
	* ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
	genmultilib, toplev.c: Fix spelling errors of "separate" as
	"seperate", and corresponding spelling errors of related words.

gcc/ada:
	* 5oosinte.adb: Fix spelling error of "separate" as "seperate".

gcc/testsuite:
	* gcc.c-torture/unsorted/unsorted.exp, lib/file-format.exp: Fix
	spelling errors of "separate" as "seperate".

libffi:
	* src/x86/ffi.c: Fix spelling error of "separate" as "seperate".

libjava:
	* defineclass.cc, java/awt/image/ColorModel.java,
	java/awt/image/SampleModel.java, java/lang/Package.java,
	java/security/cert/X509Extension.java: Fix spelling errors of
	"separate" as "seperate", and corresponding spelling errors of
	related words.

libstdc++-v3:
	* docs/html/22_locale/locale.html, docs/html/faq/index.html: Fix
	spelling errors of "separate" as "seperate", and corresponding
	spelling errors of related words.
	* docs/html/faq/index.txt: Regenerate.

From-SVN: r46063
2001-10-07 19:02:46 +01:00
Rainer Orth 03a8de49b8 sysv.S: Avoid gas-only .balign directive.
* src/x86/sysv.S: Avoid gas-only .balign directive.
	Use C style comments.

From-SVN: r44046
2001-07-16 17:12:14 +00:00
Rainer Orth 92a0e6c6c8 re PR bootstrap/3563 (Error building libffi)
* src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
	Fixes PR bootstrap/3563.

From-SVN: r44045
2001-07-16 16:53:43 +00:00
Rainer Orth 57482f585e * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
From-SVN: r43578
2001-06-26 12:04:29 +00:00
Andrew Haley be72207cd2 osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
2001-06-06  Andrew Haley  <aph@redhat.com>

        * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.

From-SVN: r43268
2001-06-12 19:14:04 +00:00
Andrew Haley 552cb45af3 osf.S: Add unwind info.
2001-06-03  Andrew Haley  <aph@redhat.com>

        * src/alpha/osf.S: Add unwind info.
        * src/powerpc/sysv.S: Add unwind info.
        * src/powerpc/ppc_closure.S: Likewise.

From-SVN: r42828
2001-06-03 14:05:38 +00:00
Hans Boehm 7b518b3953 Restore stack pointer when returning from ffi_closure_UNIX.
From-SVN: r41565
2001-04-26 00:46:38 +00:00
Hans Boehm 4bb7ff6dae *** empty log message ***
From-SVN: r41563
2001-04-26 00:30:36 +00:00
Jim Wilson df5da1c419 Eliminate assembler warnings found by ia64-linux bootstrap.
* src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
	to eliminate RAW DV.

From-SVN: r41411
2001-04-18 13:30:48 -07:00
Jon Beniston d6c4152ac0 configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
2001-03-27  Jon Beniston  <jon@beniston.com>

	* configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
	* configure: Rebuilt.
	* Makefile.am: Added X86_WIN32 target support.
	* Makefile.in: Rebuilt.

	* include/ffi.h.in: Added X86_WIN32 target support.

	* src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
	* src/types.c: Added X86_WIN32 target support.

	* src/x86/win32.S: New file. Based on sysv.S, but with EH
	stuff removed and made to work with CygWin's gas.

From-SVN: r40860
2001-03-27 03:39:16 +01:00
Kevin B Hendricks cc4c8975aa ppc_closure.S: New file.
* src/powerpc/ppc_closure.S: New file.
	* src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
	involving long long and register pairs.
	(ffi_prep_closure): New function.
	(flush_icache): Likewise.
	(ffi_closure_helper_SYSV): Likewise.
	* include/ffi.h.in (FFI_CLOSURES): Define on PPC.
	(FFI_TRAMPOLINE_SIZE): Likewise.
	(FFI_NATIVE_RAW_API): Likewise.
	* Makefile.in: Rebuilt.
	* Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
	(TARGET_SRC_POWERPC): Likewise.

From-SVN: r40807
2001-03-24 03:26:28 +00:00
Nick Clifton 4d2cf7156f Remove RCS ident strings to allow comparisions with multiple source checkouts to work
From-SVN: r40195
2001-03-02 22:21:24 +00:00
Richard Henderson 3f67ba6e95 Richards changes to the closure code for alpha
From-SVN: r38169
2000-12-10 07:13:18 +00:00
Richard Henderson 29fe047981 libffi closures for Alpha
From-SVN: r38136
2000-12-08 19:41:15 +00:00
Scott Bambrough 7f8c11d571 sysv.S (ffi_call_SYSV): Doubles are not saved to memory correctly.
2000-05-11  Scott Bambrough  <scottb@netwinder.org>

	* libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
	memory correctly.  Use conditional instructions, not branches where
	possible.

From-SVN: r33852
2000-05-11 18:16:37 +00:00
Jakub Jelinek 3791773c93 Port to sparc 32 and 64 Linux.
From-SVN: r33196
2000-04-17 02:15:32 +00:00
Hans Boehm dc5de37072 ffi.c, [...]: New files.
2000-02-25  Hans Boehm <boehm@acm.org>

	* src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
	files.
	* src/raw_api.c (ffi_translate_args): Fixed typo in argument
	list.
	(ffi_prep_raw_closure): Use ffi_translate_args, not
	ffi_closure_translate.
	* src/java_raw_api.c: New file.
	* src/ffitest.c (closure_test_fn): New function.
	(main): Define `rint' as long long on IA64.  Added new test when
	FFI_CLOSURES is defined.
	* include/ffi.h.in (ALIGN): Use size_t, not unsigned.
	(ffi_abi): Recognize IA64.
	(ffi_raw): Added `flt' field.
	Added "Java raw API" code.
	* configure.in: Recognize ia64.
	* Makefile.am (TARGET_SRC_IA64): New macro.
	(libffi_la_common_SOURCES): Added java_raw_api.c.
	(libffi_la_SOURCES): Define in IA64 case.

From-SVN: r32151
2000-02-25 19:13:44 +00:00
Anthony Green 248c0b6908 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
        * Makefile.am (AM_CFLAGS): Compile with -fexceptions.

        * src/x86/sysv.S: Add exception handling metadata.

also, add missing files.

From-SVN: r28601
1999-08-08 22:58:30 +00:00
Anthony Green 63e5e3e0db Initial revision
From-SVN: r28593
1999-08-08 13:27:18 +00:00