Age | Commit message (Collapse) | Author | Files | Lines |
|
2011-12-07 Andrew Pinski <apinski@cavium.com>
* src/mips/n32.S: Add ".set mips4".
From-SVN: r182091
|
|
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-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-11 Andrew Haley <aph@redhat.com>
* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
From-SVN: r176172
|
|
* 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-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-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
|
|
From-SVN: r168438
|
|
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-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-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
|
|
From-SVN: r166032
|
|
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
|
|
* src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
returns NULL.
From-SVN: r163809
|
|
From-SVN: r162959
|
|
Co-Authored-By: Walter Meinl <wuno@lsvw.de>
From-SVN: r162946
|
|
From-SVN: r162945
|
|
From-SVN: r162938
|
|
From-SVN: r162937
|
|
From-SVN: r162936
|
|
From-SVN: r162935
|
|
From-SVN: r162933
|
|
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
|
|
* 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
|
|
* 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-15 Matthias Klose <doko@ubuntu.com>
* src/arm/sysv.S (__ARM_ARCH__): Define for processor
__ARM_ARCH_7EM__.
From-SVN: r156771
|
|
From-SVN: r155674
|
|
* 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-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
|
|
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
|
|
From-SVN: r155470
|
|
From-SVN: r155469
|
|
* src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
type on HP-UX.
From-SVN: r155205
|
|
* src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
double' arguments.
From-SVN: r155152
|
|
PR libffi/40700
* src/closures.c [X86_64 && __sun__ && __svr4__]
(FFI_MMAP_EXEC_WRIT): Define.
From-SVN: r155124
|
|
* src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
typo.
From-SVN: r155070
|
|
* src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
code.
* src/powerpc/aix_closure.s: Same.
From-SVN: r155016
|
|
* src/powerpc/aix_closure.S: Reorganize 64-bit code to match
linux64_closure.S.
From-SVN: r155001
|
|
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
|
|
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
|
|
long double.
* src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
fparg_count twice for long double.
From-SVN: r154967
|
|
PR libffi/42243
* src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
From-SVN: r154956
|
|
* src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
case.
From-SVN: r154932
|
|
* 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-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
|
|
___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-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-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
|
|
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
|
|
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
|