aboutsummaryrefslogtreecommitdiff
path: root/libffi/src
AgeCommit message (Collapse)AuthorFilesLines
2011-12-07n32.S: Add ".set mips4".Andrew Pinski1-0/+1
2011-12-07 Andrew Pinski <apinski@cavium.com> * src/mips/n32.S: Add ".set mips4". From-SVN: r182091
2011-09-04re PR libffi/49594 (bootstrap failure in libffi:darwin_closure for ↵Iain Sandoe1-3/+4
powerpc-darwin8) PR libffi/49594 * src/powerpc/darwin_closure.S (stubs): Make the stub binding helper reference track the architecture pointer size. From-SVN: r178512
2011-08-25ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly instructions.Andrew Haley2-3/+8
2011-08-25 Andrew Haley <aph@redhat.com> * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly instructions. * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead. From-SVN: r178060
2011-07-11ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.Andrew Haley1-1/+5
2011-07-11 Andrew Haley <aph@redhat.com> * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache. From-SVN: r176172
2011-04-29osf.S (UA_SI, [...]): Define.Rainer Orth1-18/+39
* src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE): Define. Use them to handle ELF vs. ECOFF differences. [__osf__] (_GLOBAL__F_ffi_call_osf): Define. From-SVN: r173151
2011-02-08ffi.c: Add RTEMS support for cache flushing.Joel Sherrill2-0/+46
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com> * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing. Handle case when CPU variant does not have long double support. * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire, and cores with soft floating point. From-SVN: r169938
2011-02-08configure.ac: Add mips*-*-rtems* support.Joel Sherrill1-0/+8
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com> * configure.ac: Add mips*-*-rtems* support. * configure: Regenerate. * src/mips/ffitarget.h: Ensure needed constants are available for targets which do not have sgidefs.h. From-SVN: r169936
2011-01-03Update Copyright years for files modified in 2010.Jakub Jelinek3-3/+3
From-SVN: r168438
2010-12-18re PR libffi/29152 (64-bit darwin ppc port needed for libffi)Iain Sandoe4-347/+1181
libffi: PR libffi/29152 PR libffi/42378 * src/powerpc/darwin_closure.S: Provide Darwin64 implementation, update comments. * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New, (FFI_TRAMPOLINE_SIZE): Update for Darwin64. * src/powerpc/darwin.S: Provide Darwin64 implementation, update comments. * src/powerpc/ffi_darwin.c: Likewise. From-SVN: r168016
2010-12-03sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.Chung-Lin Tang1-74/+78
2010-12-03 Chung-Lin Tang <cltang@codesourcery.com> * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive. (ffi_closure_VFP): Same. (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp' directive. From-SVN: r167434
2010-11-29sysv.S (FDE_ENCODING, FDE_ENCODE): Define.Richard Henderson1-25/+26
2010-11-29 Richard Henderson <rth@redhat.com> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define. (.eh_frame): Use FDE_ENCODING. (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE. Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> From-SVN: r167251
2010-10-28Add ARM VFP ABI support to libffi.Chung-Lin Tang3-30/+392
From-SVN: r166032
2010-10-01re PR libffi/45677 (Bad stack allocation for ffi function calls on x86-64)Jakub Jelinek1-2/+2
PR libffi/45677 * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is a multiple of 8. * testsuite/libffi.call/many2.c: New test. From-SVN: r164829
2010-09-03closures.c (open_temp_exec_file_mnt): Check if getmntent_r returns NULL.Mark Wielaard1-1/+1
* src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r returns NULL. From-SVN: r163809
2010-08-06Remove warningsDan Witte3-12/+12
From-SVN: r162959
2010-08-06Add OS/2 SupportDan Witte3-8/+77
Co-Authored-By: Walter Meinl <wuno@lsvw.de> From-SVN: r162946
2010-08-06Define libffi macros carefullyDan Horák3-0/+10
From-SVN: r162945
2010-08-06Fix spelling errorsMichael Kohler2-2/+2
From-SVN: r162938
2010-08-06Fix SELinux testEvan Phoenix1-1/+1
From-SVN: r162937
2010-08-06Improve libffi commentsMatthias Klose2-7/+8
From-SVN: r162936
2010-08-06Enable build with microsoft compilerAnthony Green3-259/+417
From-SVN: r162935
2010-08-06Enable build with sun compilerOliver Kiddle1-3/+3
From-SVN: r162933
2010-07-07sysv.S (ffi_call_SYSV): Align the stack pointer to 16-bytes.Neil Roberts1-0/+3
2010-07-07 Neil Roberts <neil@linux.intel.com> * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to 16-bytes. From-SVN: r161922
2010-05-19configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as output, too.Rainer Orth1-1/+11
* configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as output, too. (libffi_cv_as_ascii_pseudo_op): Check for .ascii. (libffi_cv_as_string_pseudo_op): Check for .string. * configure: Regenerate. * fficonfig.h.in: Regenerate. * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error. From-SVN: r159570
2010-03-15configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.Rainer Orth1-0/+4
* configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test. * configure: Regenerate. * fficonfig.h.in: Regenerate. * libffi/src/x86/unix64.S (.eh_frame) [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type. From-SVN: r157466
2010-02-15sysv.S (__ARM_ARCH__): Define for processor __ARM_ARCH_7EM__.Matthias Klose1-1/+2
2010-02-15 Matthias Klose <doko@ubuntu.com> * src/arm/sysv.S (__ARM_ARCH__): Define for processor __ARM_ARCH_7EM__. From-SVN: r156771
2010-01-06* src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.Rainer Orth1-4/+4
From-SVN: r155674
2009-12-28ffi_darwin.c (ffi_prep_args): Copy abi and nargs to local variables.David Edelsohn1-13/+62
* src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to local variables. (aix_adjust_aggregate_sizes): New function. (ffi_prep_cif_machdep): Call it. From-SVN: r155492
2009-12-26configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.Andreas Tobler1-5/+0
2009-12-26 Andreas Tobler <a.tobler@schweiz.org> * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets. * configure: Regenerate. * fficonfig.h.in: Likewise. * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for Solaris/x86. From-SVN: r155475
2009-12-26ffi.c (ffi_prep_args_SYSV): Advance intarg_count when a float arguments is ↵Andreas Schwab1-0/+3
passed in memory. * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count when a float arguments is passed in memory. (ffi_closure_helper_SYSV): Mark general registers as used up when a 64bit or soft-float long double argument is passed in memory. From-SVN: r155473
2009-12-26IRIX supportFrank Everdij3-9/+34
From-SVN: r155470
2009-12-26avr32 libffi portBradley Smith3-0/+679
From-SVN: r155469
2009-12-14ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE type on HP-UX.John David Anglin1-0/+7
* src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE type on HP-UX. From-SVN: r155205
2009-12-11ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long double' arguments.Eric Botcazou1-0/+5
* src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long double' arguments. From-SVN: r155152
2009-12-10re PR libffi/40700 (All amd64 libffi execution tests fail on Solaris 10/x86)Rainer Orth1-1/+6
PR libffi/40700 * src/closures.c [X86_64 && __sun__ && __svr4__] (FFI_MMAP_EXEC_WRIT): Define. From-SVN: r155124
2009-12-07aix_closure.S (libffi_closure_ASM): Fix tablejump typo.David Edelsohn1-1/+1
* src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump typo. From-SVN: r155070
2009-12-05aix.S: Update AIX32 code to be consistent with AIX64 code.David Edelsohn2-174/+185
* src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64 code. * src/powerpc/aix_closure.s: Same. From-SVN: r155016
2009-12-04aix_closure.S: Reorganize 64-bit code to match linux64_closure.S.David Edelsohn1-86/+105
* src/powerpc/aix_closure.S: Reorganize 64-bit code to match linux64_closure.S. From-SVN: r155001
2009-12-04re PR libffi/41908 (closures fail for some structure arguments containing ↵Uros Bizjak1-17/+71
floats) PR libffi/41908 * src/x86/ffi64.c (classify_argument): Update from gcc/config/i386/i386.c. (ffi_closure_unix64_inner): Do not use the address of two consecutive SSE registers directly. * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail for x86_64 linux targets. From-SVN: r154988
2009-12-04ffi_darwin.c (ffi_closure_helper_DARWIN): Increment pfr for long double ↵David Edelsohn1-1/+2
split between fpr13 and stack. * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment pfr for long double split between fpr13 and stack. From-SVN: r154983
2009-12-03ffi_darwin.c (ffi_prep_args): Increment next_arg and fparg_count twice for ↵David Edelsohn1-0/+2
long double. * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and fparg_count twice for long double. From-SVN: r154967
2009-12-03re PR libffi/42243 (powerpc-apple-darwin9 libffi failures)David Edelsohn1-14/+12
PR libffi/42243 * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses. From-SVN: r154956
2009-12-02ffi_darwin.c (ffi_prep_args): Fix typo in INT64 case.David Edelsohn1-1/+1
* src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64 case. From-SVN: r154932
2009-12-01aix.S (ffi_call_AIX): Convert to more standard register usage.David Edelsohn3-115/+85
* src/powerpc/aix.S (ffi_call_AIX): Convert to more standard register usage. Call ffi_prep_args directly. Add long double return value support. * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment applies to FFI_TYPE_DOUBLE. Correct fpr_base increment typo. Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases. (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit mode. (ffi_closure_helper_DARWIN): Remove nf and ng counters. Move temp into case. * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment. Allocate result area between params and FPRs. From-SVN: r154892
2009-11-30re PR libffi/35484 (libffi doesn't support AIX 64bit)David Edelsohn4-77/+454
2009-11-30 David Edelsohn <edelsohn@gnu.org> PR target/35484 * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and AIX64. * src/powerpc/aix.S: Implement AIX64 version. * src/powerpc/aix_closure.S: Implement AIX64 version. (ffi_closure_ASM): Use extsb, lha and displament addresses. * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64 support. (ffi_prep_cif_machdep): Same. (ffi_call): Same. (ffi_closure_helper_DARWIN): Same. From-SVN: r154855
2009-09-29win64.S (_ffi_call_win64 stack): Remove for gnu assembly version use of ↵Kai Tietz1-2/+0
___chkstk. 2009-09-28 Kai Tietz <kai.tietz@onevision.com> * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu assembly version use of ___chkstk. From-SVN: r152256
2009-09-23PR libffi/40242, PR libffi/41443Matthias Klose1-8/+15
2009-09-23 Matthias Klose <doko@ubuntu.com> PR libffi/40242, PR libffi/41443 * src/arm/sysv.S (__ARM_ARCH__): Define for processors __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__, __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__. Change the conditionals to __SOFTFP__ || __ARM_EABI__ for -mfloat-abi=softfp to work. From-SVN: r152075
2009-09-17PR testsuite/32843 (strikes again)Loren J. Rittle1-1/+1
2009-09-17 Loren J. Rittle <ljrittle@acm.org> PR testsuite/32843 (strikes again) * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to enable proper extension on char and short. From-SVN: r151819
2009-09-15java_raw_api.c (ffi_java_raw_to_rvalue): Remove special handling for ↵David Daney4-34/+199
FFI_TYPE_POINTER. 2009-09-15 David Daney <ddaney@caviumnetworks.com> * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special handling for FFI_TYPE_POINTER. * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT, FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT, FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT, FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines. (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations. (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float. * src/mips/n32.S (ffi_call_N32): Add handling for soft-float structure and pointer returns. (ffi_closure_N32): Add handling for pointer returns. * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags, calc_n32_return_struct_flags): Handle soft-float. (ffi_prep_cif_machdep): Handle soft-float, fix pointer handling. (ffi_call_N32): Declare proper argument types. (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle soft-float. From-SVN: r151726
2009-07-24re PR libffi/40807 (libffi.call/return_sc.c)Dave Korn3-134/+370
PR libffi/40807 * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending return types for X86_WIN32. * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types. (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV, _ffi_closure_STDCALL): Likewise. * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin. (dlmmap, dlmunmap): Also use these functions on Cygwin. From-SVN: r150042