aboutsummaryrefslogtreecommitdiff
path: root/libffi/src
AgeCommit message (Collapse)AuthorFilesLines
2003-06-19ppc_closure.S: Include ffi.h.Franz Sirl1-0/+1
2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> * src/powerpc/ppc_closure.S: Include ffi.h. From-SVN: r68191
2003-06-13sysv.S: Avoid gas-only .uleb128/.sleb128 directives.Rainer Orth1-30/+30
* src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives. Use C style comments. From-SVN: r67891
2003-06-13Makefile.am: Add SHmedia support.Kaz Kojima2-0/+931
* 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-05-17configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section should be ↵Jakub Jelinek10-62/+120
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-08Solaris 7 .register fix.Jeff Sturm1-1/+3
From-SVN: r66617
2003-04-18configure.in (powerpc64*-*-linux*): Remove.Jakub Jelinek6-112/+928
* 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-03-21ffi.h.in: Define X86 instead of X86_64 in 32 bit mode.Zdenek Dvorak1-29/+16
* 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-10Andreas Tobler <a.tobler@schweiz.ch>Andreas Tobler1-91/+158
* src/powerpc/darwin_closure.S: Recode to fit dynamic libraries. From-SVN: r64106
2003-02-07darwin_closure.S: Fix alignement bug, allocate 8 bytes for the result.Andreas Tobler3-64/+68
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-06ffi.c (ffi_closure_helper_SYSV): Add hidden visibility attribute.Jakub Jelinek1-3/+7
* src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility attribute. From-SVN: r62454
2003-01-29ppc_closure.S: Recode to fit shared libs.Franz Sirl1-73/+121
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-28ffi.h.in: Enable FFI_CLOSURES for x86_64.Andrew Haley2-1/+227
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-22darwin.S (_ffi_call_AIX): Add Augmentation size to unwind info.Andrew Haley1-0/+1
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-21darwin.S: Add unwind info.Andreas Tobler2-25/+131
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-14ffi64.c (ffi_prep_args): Check for void retval.Andrew Haley2-3/+46
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-14ffitest.c (main): Only use ffi_closures if those are supported.Andreas Jaeger1-1/+3
* src/ffitest.c (main): Only use ffi_closures if those are supported. From-SVN: r61273
2003-01-14[multiple changes]Tom Tromey2-30/+265
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-10ffi_darwin.c: Remove RCS version string.Geoffrey Keating2-4/+0
* src/powerpc/ffi_darwin.c: Remove RCS version string. * src/powerpc/darwin.S: Remove RCS version string. From-SVN: r61135
2003-01-03ffi.h.in: Add closure defines for SPARC, SPARC64.Jeff Sturm4-7/+306
* 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
2002-12-16Merge basic-improvements-branch to trunkZack Weinberg1-14/+113
From-SVN: r60174
2002-12-06ffi.h.in: Added FFI_STDCALL ffi_type enumeration for X86_WIN32.Ranjit Mathew3-4/+232
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-11-27* src/s390/sysv.S (.eh_frame section): Make section read-only.Ulrich Weigand1-2/+2
From-SVN: r59574
2002-11-26Fix Portable .NET bug with IA-64 pointer size.Jim Wilson1-1/+2
* src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64. From-SVN: r59541
2002-11-15s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.Ulrich Weigand1-8/+16
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-10-08java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret raw data as _Jv_word ↵Ulrich Weigand3-29/+86
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-02* src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.Andreas Jaeger1-2/+0
From-SVN: r57726
2002-09-30configure.in: Add s390x-*-linux-* target.Ulrich Weigand4-570/+932
* 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-29* src/arm/sysv.S: Fix typo.Richard Earnshaw1-1/+1
From-SVN: r57627
2002-09-28sysv.S: If we don't have machine/asm.h and the pre-processor has defined...Richard Earnshaw1-0/+15
* 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-07-19Makefile.am: Add SH support.Kaz Kojima3-0/+1406
* 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-19Forgot this file.Bo Thorsen1-4/+0
From-SVN: r55573
2002-07-19[multiple changes]Bo Thorsen11-87/+1034
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-18Makefile.am (TARGET_SRC_MIPS_LINUX): New.H.J. Lu1-0/+1
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-06-06* src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.Ulrich Weigand1-3/+65
From-SVN: r54317
2002-05-28Fix last commit. Sorry about that.Bo Thorsen1-15/+6
From-SVN: r53946
2002-05-28* src/x86/ffi.c (ffi_prep_args): Remove reference to avn.Roger Sayle1-1/+1
From-SVN: r53942
2002-05-27ffi.c (ffi_prep_args): Remove unused variable and fix formatting.Bo Thorsen1-52/+46
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-13ffi_darwin.c (ffi_prep_closure): Declare fd at beginning of function (for ↵Andreas Tobler1-2/+3
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-04-29Makefile.am: Add Linux for S/390 support.Gerhard Tonn2-0/+750
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-28configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working %r_disp32().Jakub Jelinek2-0/+18
* 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-08java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE correctly.Hans Boehm3-10/+35
* 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* src/sparc/v8.S: Make .eh_frame dependent on target word size.Jakub Jelinek1-6/+16
From-SVN: r52041
2002-04-04v8.S: Add unwind info.Jeff Sturm2-3/+80
* src/sparc/v8.S: Add unwind info. * src/sparc/v9.S: Likewise. From-SVN: r51873
2002-03-29re PR other/2620 (Filenames differ only in case)David Billinghurst2-16/+0
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-07Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.Andreas Tobler3-1/+768
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-02-24ffi.h.in: Add typedef for ffi_arg.Jeff Sturm1-5/+1
* include/ffi.h.in: Add typedef for ffi_arg. * src/ffitest.c (main): Declare rint with ffi_arg. From-SVN: r50006
2002-02-21ffi_darwin.c (ffi_prep_args): Skip appropriate number of GPRs for ↵Andreas Tobler1-6/+14
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-01-18- Symmetrically define ffi_call_DARWIN for AIX.David Edelsohn1-0/+15
From-SVN: r48993
2002-01-18- Provide a null definition of _ffi_call_AIX so that Darwin link won't fail.David Edelsohn1-4/+10
From-SVN: r48989
2002-01-17Makefile.am (EXTRA_DIST): Add Darwin and AIX files.David Edelsohn2-14/+237
* 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