Commit Graph

196 Commits

Author SHA1 Message Date
David Edelsohn
3e86b595ac aix.S: Cleanup whitespaces.
* src/powerpc/aix.S: Cleanup whitespaces.
        * src/powerpc/aix_closure.S: Likewise.

From-SVN: r71542
2003-09-18 16:53:19 -04:00
Andreas Tobler
8d8369f85b darwin.S: Cleanup whitespaces, comment formatting.
2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>

	* src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
	* src/powerpc/darwin_closure.S: Likewise.
	* src/powerpc/ffi_darwin.c: Likewise.

From-SVN: r71533
2003-09-18 21:35:46 +02:00
Andreas Tobler
69b182fda6 types.c (double): Add AIX and Darwin to the right TYPEDEF.
2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
	    David Edelsohn  <edelsohn@gnu.org>

	* src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
	* src/powerpc/aix_closure.S: Remove the pointer to the outgoing
	parameter stack.
	* src/powerpc/darwin_closure.S: Likewise.
	* src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
	according to the Darwin/AIX ABI.
	(ffi_prep_cif_machdep): Likewise.
	(ffi_closure_helper_DARWIN): Likewise.
	Remove the outgoing parameter stack logic. Simplify the evaluation
	of the different CASE types.
	(ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
	statement in the trampoline code.

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

From-SVN: r71530
2003-09-18 20:23:47 +02:00
Kaz Kojima
df805cdc54 ffi.c (ffi_prep_args): Take account into the alignement for the register size.
* src/sh/ffi.c (ffi_prep_args): Take account into the alignement
	for the register size.
	(ffi_closure_helper_SYSV): Handle the structure return value
	address correctly.
	(ffi_closure_helper_SYSV): Return the appropriate type when
	the registers are used for the structure return value.
	* src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
	the 64-bit return value.  Update copyright years.

From-SVN: r71521
2003-09-18 14:08:20 +00:00
Rainer Orth
eb26c76c64 libffi-dg.exp (libffi_target_compile): Search in srcdir for ffi_mips.h.
* testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
	srcdir for ffi_mips.h.

From-SVN: r71469
2003-09-17 17:59:15 +00:00
Alan Modra
6350c02cb6 prep_cif.c (initialize_aggregate): Include tail padding in structure size.
* src/prep_cif.c (initialize_aggregate): Include tail padding in
	structure size.
	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
	placement of float result.
	* testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
	cast of "resp" for big-endian 64 bit machines.

From-SVN: r71323
2003-09-12 09:24:40 +09:30
Alan Modra
5af1c8062d types.c (double, longdouble): Merge identical SH and ARM typedefs, and add POWERPC64.
* src/types.c (double, longdouble): Merge identical SH and ARM
	typedefs, and add POWERPC64.
	* src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
	struct split over gpr and rest.
	(ffi_prep_cif_machdep): Correct intarg_count for structures.
	* src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.

From-SVN: r71295
2003-09-11 14:47:57 +09:30
Andreas Tobler
086a4bd7dd 2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
* src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
	passing correctly.

From-SVN: r71238
2003-09-09 19:37:53 +02:00
Alan Modra
e517f63617 * libtool.m4 (LD): Correct powerpc64 host match.
From-SVN: r71229
2003-09-09 15:54:39 +09:30
Andreas Tobler
6f20d62741 Makefile.am: Remove build rules for ffitest.
2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>

	* Makefile.am: Remove build rules for ffitest.
	* Makefile.in: Rebuilt.

From-SVN: r71078
2003-09-04 19:21:51 +02:00
Andreas Tobler
226660aff3 sorry forgot the changelog.
From-SVN: r71073
2003-09-04 16:58:22 +02:00
Andreas Tobler
d6e3ff272c java_raw_api.c: Include <stdlib.h> to fix compiler warning about implicit declaration of abort().
2003-08-30  Andreas Tobler  <a.tobler@schweiz.ch>

	* src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
	about implicit declaration of abort().

From-SVN: r71071
2003-09-04 16:53:26 +02:00
Andreas Tobler
efaede1c73 Andreas Tobler <a.tobler@schweiz.ch>
* include/Makefile.in: Built.

From-SVN: r71070
2003-09-04 16:51:43 +02:00
Andreas Tobler
8a6b509ea8 *** empty log message ***
From-SVN: r71069
2003-09-04 16:49:22 +02:00
Andreas Tobler
bbf3057bf9 003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
* Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
	* Makefile.in: Rebuilt.
	* configure.in: Add dejagnu test framework.
	* configure: Rebuilt.

	* testsuite/Makefile.am: New file.
	* testsuite/Makefile.in: Built
	* testsuite/lib/libffi-dg.exp: New file.
	* testsuite/config/default.exp: Likewise.
	* testsuite/libffi.call/call.exp: Likewise.
	* testsuite/libffi.call/ffitest.h: Likewise.
	* testsuite/libffi.call/closure_fn0.c: Likewise.
	* testsuite/libffi.call/closure_fn1.c: Likewise.
	* testsuite/libffi.call/closure_fn2.c: Likewise.
	* testsuite/libffi.call/closure_fn3.c: Likewise.
	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
	* testsuite/libffi.call/cls_2byte.c: Likewise.
	* testsuite/libffi.call/cls_3byte1.c: Likewise.
	* testsuite/libffi.call/cls_3byte2.c: Likewise.
	* testsuite/libffi.call/cls_4byte.c: Likewise.
	* testsuite/libffi.call/cls_5byte.c: Likewise.
	* testsuite/libffi.call/cls_6byte.c: Likewise.
	* testsuite/libffi.call/cls_7byte.c: Likewise.
	* testsuite/libffi.call/cls_8byte.c: Likewise.
	* testsuite/libffi.call/cls_12byte.c: Likewise.
	* testsuite/libffi.call/cls_16byte.c: Likewise.
	* testsuite/libffi.call/cls_20byte.c: Likewise.
	* testsuite/libffi.call/cls_24byte.c: Likewise.
	* testsuite/libffi.call/cls_double.c: Likewise.
	* testsuite/libffi.call/cls_float.c: Likewise.
	* testsuite/libffi.call/cls_uchar.c: Likewise.
	* testsuite/libffi.call/cls_uint.c: Likewise.
	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
	* testsuite/libffi.call/cls_ushort.c: Likewise.
	* testsuite/libffi.call/float.c: Likewise.
	* testsuite/libffi.call/float1.c: Likewise.
	* testsuite/libffi.call/float2.c: Likewise.
	* testsuite/libffi.call/many.c: Likewise.
	* testsuite/libffi.call/many_win32.c: Likewise.
	* testsuite/libffi.call/nested_struct.c: Likewise.
	* testsuite/libffi.call/nested_struct1.c: Likewise.
	* testsuite/libffi.call/pyobjc-tc.c: Likewise.
	* testsuite/libffi.call/problem1.c: Likewise.
	* testsuite/libffi.call/promotion.c: Likewise.
	* testsuite/libffi.call/return_ll.c: Likewise.
	* testsuite/libffi.call/return_sc.c: Likewise.
	* testsuite/libffi.call/return_uc.c: Likewise.
	* testsuite/libffi.call/strlen.c: Likewise.
	* testsuite/libffi.call/strlen_win32.c: Likewise.
	* testsuite/libffi.call/struct1.c: Likewise.
	* testsuite/libffi.call/struct2.c: Likewise.
	* testsuite/libffi.call/struct3.c: Likewise.
	* testsuite/libffi.call/struct4.c: Likewise.
	* testsuite/libffi.call/struct5.c: Likewise.
	* testsuite/libffi.call/struct6.c: Likewise.
	* testsuite/libffi.call/struct7.c: Likewise.
	* testsuite/libffi.call/struct8.c: Likewise.
	* testsuite/libffi.call/struct9.c: Likewise.
	* testsuite/libffi.special/special.exp: New file.
	* testsuite/libffi.special/ffitestcxx.h: Likewise.
	* testsuite/libffi.special/unwindtest.cc: Likewise.

From-SVN: r71068
2003-09-04 16:47:05 +02:00
Kaz Kojima
996b4f8f5a ffi.c (OFS_INT16): Set 0 for little endian case.
* src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
	copyright years.

From-SVN: r70421
2003-08-13 23:36:54 +00:00
Alan Modra
b00badcd91 ffi.c (ffi_prep_args64): Modify for changed gcc structure passing.
* src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
	structure passing.
	(ffi_closure_helper_LINUX64): Likewise.
	* src/powerpc/linux64.S: Remove code writing to parm save area.
	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
	address in lr from ffi_closure_helper_LINUX64 call to calculate
	table address.  Optimize function tail.

From-SVN: r70050
2003-08-02 00:49:01 +09:30
Andreas Tobler
c1516eae87 re PR libffi/11410 (ffitest failures on Solaris 8/SPARC)
2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>

        * src/sparc/ffi.c: Handle all floating point registers.
        * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.

From-SVN: r69951
2003-07-30 06:04:24 +02:00
Gerald Pfeifer
fc0e6222b1 README: Note that libffi is not part of GCC.
* README: Note that libffi is not part of GCC.  Update the project
	URL and status.

From-SVN: r69250
2003-07-11 22:13:16 +00:00
Franz Sirl
a1569df8f6 ppc_closure.S: Include ffi.h.
2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* src/powerpc/ppc_closure.S: Include ffi.h.

From-SVN: r68191
2003-06-19 11:55:56 +00:00
Rainer Orth
12e816bf16 sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
* src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
	Use C style comments.

From-SVN: r67891
2003-06-13 11:59:53 +00:00
Kaz Kojima
e860ed6dce Makefile.am: Add SHmedia support.
* Makefile.am: Add SHmedia support.  Fix a typo of SH support.
	* Makefile.in: Regenerate.
	* configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
	* configure: Regenerate.
	* include/ffi.h.in: Add SHmedia support.
	* src/sh64/ffi.c: New file.
	* src/sh64/sysv.S: New file.

From-SVN: r67869
2003-06-13 02:23:26 +00:00
Jakub Jelinek
a733b15e51 configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section should be read-only.
* configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
	should be read-only.
	* configure: Rebuilt.
	* fficonfig.h.in: Rebuilt.
	* include/ffi.h.in (EH_FRAME_FLAGS): Define.
	* src/alpha/osf.S: Use EH_FRAME_FLAGS.
	* src/powerpc/linux64.S: Likewise.
	* src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
	* src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
	if -fpic/-fPIC/-mrelocatable.
	* src/powerpc/powerpc_closure.S: Likewise.
	* src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
	#write in .eh_frame flags.
	* src/sparc/v9.S: Likewise.
	* src/x86/unix64.S: Use EH_FRAME_FLAGS.
	* src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
	* src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.

From-SVN: r66887
2003-05-17 00:09:22 +02:00
Jeff Sturm
bd19c9f4f2 Solaris 7 .register fix.
From-SVN: r66617
2003-05-08 20:41:24 +00:00
Jakub Jelinek
e9b841813c configure.in (powerpc64*-*-linux*): Remove.
* configure.in (powerpc64*-*-linux*): Remove.
	* configure: Rebuilt.
libffi/
	* include/ffi.h.in (POWERPC64): Define if 64-bit.
	(enum ffi_abi): Add FFI_LINUX64 on POWERPC.
	Make it the default on POWERPC64.
	(FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
	* configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
	* configure: Rebuilt.
	* src/powerpc/ffi.c (hidden): Define.
	(ffi_prep_args_SYSV): Renamed from
	ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
	(NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
	ASM_NEEDS_REGISTERS64): New.
	(ffi_prep_args64): New function.
	(ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
	(ffi_call): Likewise.
	(ffi_prep_closure): Likewise.
	(flush_icache): Surround by #ifndef POWERPC64.
	(ffi_dblfl): New union type.
	(ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
	(ffi_closure_helper_LINUX64): New function.
	* src/powerpc/ppc_closure.S: Surround whole file by #ifndef
	__powerpc64__.
	* src/powerpc/sysv.S: Likewise.
	(ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
	* src/powerpc/linux64.S: New file.
	* src/powerpc/linux64_closure.S: New file.
	* Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
	src/powerpc/linux64_closure.S.
	(TARGET_SRC_POWERPC): Likewise.

	* src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
	closure_test_fn3): Fix result printing on big-endian 64-bit
	machines.
	(main): Print tst2_arg instead of uninitialized tst2_result.

	* src/ffitest.c (main): Hide what closure pointer really points to
	from the compiler.

From-SVN: r65781
2003-04-18 14:32:36 +02:00
Richard Earnshaw
908a31e1b1 configure.in (arm-*-netbsdelf*): Add configuration.
* configure.in (arm-*-netbsdelf*): Add configuration.
(configure): Regenerated.

From-SVN: r65691
2003-04-16 18:25:33 +00:00
Alexandre Oliva
b1e0a93ee5 libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on mips*.
* libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on mips*.
* */configure: Rebuilt.

From-SVN: r65459
2003-04-11 04:20:21 +00:00
Loren J. Rittle
41a73c4c6c * include/Makefile.in: Regenerate.
From-SVN: r65264
2003-04-05 01:44:53 +00:00
Andreas Schwab
6db450f90a configure.in: Avoid trailing /.
2003-03-10  Andreas Schwab  <schwab@suse.de>

boehm-gc:
	* configure.in: Avoid trailing /. in toolexeclibdir.
	* configure: Rebuilt.

libf2c:
	* aclocal.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
	glibcpp_toolexeclibdir.
	* configure: Rebuilt.

libffi:
	* configure.in: Avoid trailing /. in toolexeclibdir.
	* configure: Rebuilt.

libjava:
	* configure.in: Avoid trailing /. in toolexeclibdir.
	* configure: Rebuilt.

libobjc:
	* aclocal.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
	glibcpp_toolexeclibdir.
	* configure: Rebuilt.

libstdc++-v3:
	* acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
	glibcpp_toolexeclibdir.
	* aclocal.m4, configure: Rebuilt.

zlib:
	* configure.in: Avoid trailing /. in toolexeclibdir.
	* configure: Rebuilt.

From-SVN: r64805
2003-03-24 15:29:54 +00:00
Zdenek Dvorak
cd41c847e7 ffi.h.in: Define X86 instead of X86_64 in 32 bit mode.
* libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
	bit mode.
	* libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
	Receive closure pointer through parameter, read args using
	__builtin_dwarf_cfa.
	(FFI_INIT_TRAMPOLINE): Send closure reference through eax.

From-SVN: r64663
2003-03-21 13:43:20 +00:00
Andreas Schwab
ff8b9ca85f configure.in: Avoid trailing /.
2003-03-10  Andreas Schwab  <schwab@suse.de>

boehm-gc:
	* configure.in: Avoid trailing /. in toolexeclibdir.
	* configure: Rebuilt.

libf2c:
	* aclocal.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
	glibcpp_toolexeclibdir.
	* configure: Rebuilt.

libffi:
	* configure.in: Avoid trailing /. in toolexeclibdir.
	* configure: Rebuilt.

libjava:
	* configure.in: Avoid trailing /. in toolexeclibdir.
	* configure: Rebuilt.

libobjc:
	* aclocal.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
	glibcpp_toolexeclibdir.
	* configure: Rebuilt.

libstdc++-v3:
	* acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
	glibcpp_toolexeclibdir.
	* aclocal.m4, configure: Rebuilt.

zlib:
	* configure.in: Avoid trailing /. in toolexeclibdir.
	* configure: Rebuilt.

From-SVN: r64267
2003-03-12 21:34:31 +00:00
Andreas Tobler
70144e9c6c Andreas Tobler <a.tobler@schweiz.ch>
* src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.

From-SVN: r64106
2003-03-10 20:10:26 +01:00
Alexandre Oliva
3343fdd21c configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to config.status.
* configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
config.status.
* configure: Rebuilt.

From-SVN: r63159
2003-02-20 09:08:45 +00:00
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
Andreas Jaeger
3123c967cc Fix wrongly applied last patch.
From-SVN: r62239
2003-02-01 12:16:19 +01:00
Christian Cornelssen
63b87c2e8e configure.in: Adjust command to source config-ml.in to account for changes to the...
2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
            Andreas Schwab  <schwab@suse.de>

        * configure.in: Adjust command to source config-ml.in to account
        for changes to the libffi_basedir definition.
        (libffi_basedir): Remove ${srcdir} from value and include trailing
        slash if nonempty.

        * configure: Regenerate.

Co-Authored-By: Andreas Schwab <schwab@suse.de>

From-SVN: r62193
2003-01-31 20:35:22 +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
Alexandre Oliva
db2cd5e6c0 configure.in (toolexecdir, [...]): Set and AC_SUBST.
* configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
Remove USE_LIBDIR conditional.
* Makefile.am (toolexecdir, toolexeclibdir): Don't override.
* Makefile.in, configure: Rebuilt.

From-SVN: r62040
2003-01-28 22:58:58 +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
Alexandre Oliva
0e292c0153 configure.in (toolexecdir, [...]): Set and AC_SUBST.
* configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
Remove USE_LIBDIR conditional.
* Makefile.am (toolexecdir, toolexeclibdir): Don't override.
* Makefile.in, configure: Rebuilt.

[[Split portion of a mixed commit.]]

From-SVN: r61935.2
2003-01-28 01:48:33 +00:00
David Edelsohn
acabc2201e Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
* Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
        * Makefile.in: Regenerate.

From-SVN: r61899
2003-01-27 15:25:43 -05: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
DJ Delorie
6bee537279 * configure.in: Look for common files in the right place.
From-SVN: r59039
2002-11-11 23:45:57 -05: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
Bo Thorsen
5d2975841c * include/ffi.h.in: Fix i386 win32 compilation.
From-SVN: r57691
2002-10-01 17:38:00 +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
Bo Thorsen
0b0f416385 ffi.h.in: Fix multilib x86-64 support.
2002-09-27  Bo Thorsen  <bo@suse.de>

        * include/ffi.h.in: Fix multilib x86-64 support.

From-SVN: r57589
2002-09-27 16:37:23 +02:00
Kaveh R. Ghazi
6c5d742e3b Makefile.am (all-multi): Fix multilib parallel build.
boehm-gc:
	* Makefile.am (all-multi): Fix multilib parallel build.
libf2c:
	* Makefile.in (all): Fix multilib parallel build.
libffi:
	* Makefile.am (all-multi): Fix multilib parallel build.
libiberty:
	* Makefile.in (all): Fix multilib parallel build.
libjava:
	* Makefile.am (all-multi): Fix multilib parallel build.
libobjc:
	* Makefile.in (all): Fix multilib parallel build.
libstdc++-v3:
	* Makefile.am (all-multi): Fix multilib parallel build.
zlib:
	* Makefile.am (all-multi): Fix multilib parallel build.

From-SVN: r57423
2002-09-23 03:52:55 +00:00
Alexandre Oliva
f5cc59a784 configure, configure: Rebuilt.
* boehm-gc/configure, libf2c/configure: Rebuilt.
* libffi/configure, libiberty/configure: Ditto.
* libjava/configure, libobjc/configure: Ditto.
* libstdc++-v3/configure, zlib/configure: Ditto.
Merged from binutils:
2002-01-27  Daniel Jacobowitz  <drow@mvista.com>
From Steve Ellcey <sje@cup.hp.com>:
* libtool.m4 (HPUX_IA64_MODE): Set to 32 or 64 based on ABI.
(lt_cv_deplibs_check_method, lt_cv_file_magic_cmd,
lt_cv_file_magic_test_file): Set to appropriate values for HP-UX
IA64.
* ltcf-c.sh (archive_cmds, hardcode_*): Ditto.
* ltconfig (shlibpath_*, dynamic_linker, library_names_spec,
soname_spec, sys_lib_search_path_spec): Ditto.

From-SVN: r56270
2002-08-14 02:40:00 +00:00
Kaz Kojima
f4b2b0d665 configure.in (sh[34]*-*-linux*): Add brackets.
* configure.in (sh[34]*-*-linux*): Add brackets.
	* configure: Regenerate.

From-SVN: r55589
2002-07-19 15:30:58 +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
Alexandre Oliva
6706f1167e configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at script entry, and set LD to it when configuring multilibs.
* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
script entry, and set LD to it when configuring multilibs.
* configure: Rebuilt.

From-SVN: r53278
2002-05-08 04:38:00 +00:00
Jason Thorpe
fad655c869 configure.in (sparc64-*-netbsd*): Add target.
* configure.in (sparc64-*-netbsd*): Add target.
(sparc-*-netbsdelf*): Likewise.
* configure: Regenerate.

From-SVN: r53171
2002-05-05 05:03:33 +00:00
David S. Miller
189ab118de configure.in, configure: Fix SPARC test in previous change.
2002-04-28  David S. Miller  <davem@redhat.com>

	* configure.in, configure: Fix SPARC test in previous change.

From-SVN: r52878
2002-04-28 22:48:05 -07: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
Jason Thorpe
da00eaab0b configure.in (alpha*-*-netbsd*): Add target.
* configure.in (alpha*-*-netbsd*): Add target.
* configure: Regenerate.

From-SVN: r51976
2002-04-07 04:19:31 +00: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
Krister Walfridsson
320d7e7ad6 configure.in (i*86-*-netbsdelf*): Don't disable libgcj.
2002-03-30  Krister Walfridsson  <cato@df.lth.se>

	* configure.in (i*86-*-netbsdelf*): Don't disable libgcj.

libffi:
2002-03-30  Krister Walfridsson  <cato@df.lth.se>

	* configure.in: Enable i*86-*-netbsdelf*.
	* configure: Rebuilt.

From-SVN: r51620
2002-03-31 00:33:17 +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
Loren J. Rittle
5bb366e023 configure.in: Enable alpha*-*-freebsd*.
* configure.in: Enable alpha*-*-freebsd*.
	* configure: Rebuilt.

From-SVN: r51143
2002-03-21 22:14:56 +00:00
Bryce McKinlay
1eb7ba303a Makefile.am: Define ffitest_OBJECTS.
* Makefile.am: Define ffitest_OBJECTS.
	* Makefile.in: Rebuilt.

From-SVN: r50904
2002-03-17 01:05:11 +00:00
Bryce McKinlay
ce3b24a73a Makefile.am: Make target library a convenience library.
zlib:
	* Makefile.am: Make target library a convenience library.
	* Makefile.in: Rebuilt.

libffi:
	* Makefile.am: libfficonvenience -> libffi_convenience.
	* Makefile.in: Rebuilt.

boehm-gc:
	* Makefile.am: Make a convenience library.
	* Makefile.in: Rebuilt.

libjava:
	Build a single libgcj.so, without separate gc and zlib libraries.
	* configure.in: Use convenience libraries for boehm-gc and zlib. Set
	SYS_ZLIBS if system zlib is used.
	* configure: Rebuilt.
	* Makefile.am: Use boehm-gc and zlib convenience libraries.
	* Makefile.in: Rebuilt.
	* libtool-version: Increment .so version number.

From-SVN: r50900
2002-03-17 00:35:21 +00:00
David Edelsohn
3df3221216 - Add Darwin and AIX to supported platforms.
From-SVN: r50414
2002-03-07 17:11:35 -05: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
Anthony Green
e2f2e70a94 Configure changes to enable cross compiling.
From-SVN: r49378
2002-01-31 22:25:31 +00: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