Commit Graph

62 Commits

Author SHA1 Message Date
Andreas Tobler
79e43f898d darwin_closure.S: Fix alignement bug, allocate 8 bytes for the result.
2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>

        * libffi/src/powerpc/darwin_closure.S:
        Fix alignement bug, allocate 8 bytes for the result.
        * libffi/src/powerpc/aix_closure.S:
        Likewise.
        * libffi/src/powerpc/ffi_darwin.c:
        Update stackframe description for aix/darwin_closure.S.

From-SVN: r62514
2003-02-07 05:31:20 +01:00
Jakub Jelinek
0fcc9e55d4 ffi.c (ffi_closure_helper_SYSV): Add hidden visibility attribute.
* src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
	attribute.

From-SVN: r62454
2003-02-06 00:58:57 +01:00
Franz Sirl
c33402e255 ppc_closure.S: Recode to fit shared libs.
2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* src/powerpc/ppc_closure.S: Recode to fit shared libs.

From-SVN: r62112
2003-01-29 23:53:54 +00:00
Andrew Haley
fd2e49b2ac ffi.h.in: Enable FFI_CLOSURES for x86_64.
2003-01-28  Andrew Haley  <aph@redhat.com>

        * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
        * src/x86/ffi64.c (ffi_prep_closure): New.
        (ffi_closure_UNIX64_inner): New.
        * src/x86/unix64.S (ffi_closure_UNIX64): New.

From-SVN: r61978
2003-01-28 15:54:28 +00:00
Andrew Haley
be0acd4269 darwin.S (_ffi_call_AIX): Add Augmentation size to unwind info.
2003-01-22  Andrew Haley  <aph@redhat.com>

        * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
        unwind info.

From-SVN: r61608
2003-01-22 18:21:55 +00:00
Andreas Tobler
ed695c8e6c darwin.S: Add unwind info.
2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>

	* src/powerpc/darwin.S: Add unwind info.
	* src/powerpc/darwin_closure.S: Likewise.

From-SVN: r61568
2003-01-21 20:49:26 +00:00
Andrew Haley
45ba15f410 ffi64.c (ffi_prep_args): Check for void retval.
2003-01-14  Andrew Haley  <aph@redhat.com>

        * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
        (ffi_prep_cif_machdep): Likewise.
        * src/x86/unix64.S: Add unwind info.

From-SVN: r61291
2003-01-14 18:42:29 +00:00
Andreas Jaeger
4b5f402e2d ffitest.c (main): Only use ffi_closures if those are supported.
* src/ffitest.c (main): Only use ffi_closures if those are
	supported.

From-SVN: r61273
2003-01-14 10:50:48 +01:00
Tom Tromey
7b5102af84 [multiple changes]
2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>

	* libffi/src/ffitest.c
         add closure testcases

2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>

	* libffi/src/powerpc/ffi.c
         fix alignment bug for float (4 byte aligned iso 8 byte)

From-SVN: r61263
2003-01-14 05:15:21 +00:00
Geoffrey Keating
5f7c78d8a4 ffi_darwin.c: Remove RCS version string.
* src/powerpc/ffi_darwin.c: Remove RCS version string.
	* src/powerpc/darwin.S: Remove RCS version string.

From-SVN: r61135
2003-01-10 00:01:32 +00:00
Jeff Sturm
c75c7793f5 ffi.h.in: Add closure defines for SPARC, SPARC64.
* include/ffi.h.in: Add closure defines for SPARC, SPARC64.
* src/ffitest.c (main): Use static storage for closure.
* src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
* src/sparc/v8.S (ffi_closure_v8): New.
* src/sparc/v9.S (ffi_closure_v9): New.

From-SVN: r60857
2003-01-03 23:08:56 +00:00
Zack Weinberg
4977bab6ed Merge basic-improvements-branch to trunk
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Ranjit Mathew
eb3c46a17e ffi.h.in: Added FFI_STDCALL ffi_type enumeration for X86_WIN32.
2002-11-10  Ranjit Mathew <rmathew@hotmail.com>

	* include/ffi.h.in: Added FFI_STDCALL ffi_type
	  enumeration for X86_WIN32.
	* src/x86/win32.S: Added ffi_call_STDCALL function
	  definition.
	* src/x86/ffi.c (ffi_call/ffi_raw_call): Added
	  switch cases for recognising FFI_STDCALL and
	  calling ffi_call_STDCALL if target is X86_WIN32.
	* src/ffitest.c (my_stdcall_strlen/stdcall_many):
	  stdcall versions of the "my_strlen" and "many"
	  test functions (for X86_WIN32).
	  Added test cases to test stdcall invocation using
	  these functions.

From-SVN: r59878
2002-12-06 01:16:45 +00:00
Ulrich Weigand
67333e84d7 * src/s390/sysv.S (.eh_frame section): Make section read-only.
From-SVN: r59574
2002-11-27 16:44:35 +00:00
Jim Wilson
bc3cf76072 Fix Portable .NET bug with IA-64 pointer size.
* src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.

From-SVN: r59541
2002-11-26 14:24:05 -08:00
Ulrich Weigand
18789f4e75 s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
gcc/ChangeLog:
	* config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.

libffi/ChangeLog:
	* src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.

From-SVN: r59134
2002-11-15 16:57:49 +00:00
Ulrich Weigand
8177895b71 java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret raw data as _Jv_word values, not ffi_raw.
* src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
	raw data as _Jv_word values, not ffi_raw.
	(ffi_java_ptrarray_to_raw): Likewise.
	(ffi_java_rvalue_to_raw): New function.
	(ffi_java_raw_call): Call it.
	(ffi_java_raw_to_rvalue): New function.
	(ffi_java_translate_args): Call it.
	* src/ffitest.c (closure_test_fn): Interpret return value
	as ffi_arg, not int.
	* src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
	FFI_TYPE_POINTER case.
	(ffi_closure_helper_SYSV): Likewise.  Also, assume return
	values extended to word size.

From-SVN: r57926
2002-10-08 14:55:03 +00:00
Andreas Jaeger
af50f4c807 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
From-SVN: r57726
2002-10-02 08:21:54 +02:00
Ulrich Weigand
c4f17c6f58 configure.in: Add s390x-*-linux-* target.
* configure.in: Add s390x-*-linux-* target.
	* configure: Regenerate.
	* include/ffi.h.in: Define S390X for s390x targets.
	(FFI_CLOSURES): Define for s390/s390x.
	(FFI_TRAMPOLINE_SIZE): Likewise.
	(FFI_NATIVE_RAW_API): Likewise.
	* src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
	* src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
	* src/s390/ffi.c: Major rework of existing code.  Add support for
	s390x targets.  Add closure support.
	* src/s390/sysv.S: Likewise.

From-SVN: r57646
2002-09-30 11:59:42 +00:00
Richard Earnshaw
d7b5262524 * src/arm/sysv.S: Fix typo.
From-SVN: r57627
2002-09-29 18:08:58 +00:00
Richard Earnshaw
28165e22cd sysv.S: If we don't have machine/asm.h and the pre-processor has defined...
* src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
has defined __USER_LABEL_PREFIX__, then use it in CNAME.
(ffi_call_SYSV): Handle soft-float.

From-SVN: r57609
2002-09-28 12:09:27 +00:00
Kaz Kojima
ddebdfebad Makefile.am: Add SH support.
* Makefile.am: Add SH support.
	* Makefile.in: Regenerate.
	* configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
	* configure: Regenerate.
	* include/ffi.h.in: Add SH support.
	* src/sh/ffi.c: New file.
	* src/sh/sysv.S: New file.
	* src/types.c: Add SH support.

From-SVN: r55574
2002-07-19 01:08:43 +00:00
Bo Thorsen
7e31e4ae78 Forgot this file.
From-SVN: r55573
2002-07-19 02:37:03 +02:00
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