Jakub Jelinek
731fc5f040
re PR libffi/45677 (Bad stack allocation for ffi function calls on x86-64)
...
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-10-01 09:31:49 +02:00
Mark Wielaard
2cd8686617
closures.c (open_temp_exec_file_mnt): Check if getmntent_r returns NULL.
...
* src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
returns NULL.
From-SVN: r163809
2010-09-03 10:35:35 +00:00
Dan Witte
7862d49629
Remove warnings
...
From-SVN: r162959
2010-08-06 20:05:33 +00:00
Dan Witte
49f6cd1f25
Add OS/2 Support
...
Co-Authored-By: Walter Meinl <wuno@lsvw.de>
From-SVN: r162946
2010-08-06 12:36:26 +00:00
Dan Horák
3d420bdf4d
Define libffi macros carefully
...
From-SVN: r162945
2010-08-06 12:26:52 +00:00
Michael Kohler
0af2372948
Fix spelling errors
...
From-SVN: r162938
2010-08-06 05:45:23 +00:00
Evan Phoenix
07b6d9efd9
Fix SELinux test
...
From-SVN: r162937
2010-08-06 05:40:15 +00:00
Matthias Klose
4736718a4e
Improve libffi comments
...
From-SVN: r162936
2010-08-06 05:28:37 +00:00
Anthony Green
3ac097a580
Enable build with microsoft compiler
...
From-SVN: r162935
2010-08-06 05:24:11 +00:00
Oliver Kiddle
fc28e435cf
Enable build with sun compiler
...
From-SVN: r162933
2010-08-06 04:55:25 +00:00
Neil Roberts
4138b429ca
sysv.S (ffi_call_SYSV): Align the stack pointer to 16-bytes.
...
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-07-07 15:59:30 +00:00
Rainer Orth
d416abb494
configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as output, too.
...
* 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-05-19 15:31:36 +00:00
Rainer Orth
f4b130bb74
configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
...
* 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-03-15 19:36:26 +00:00
Matthias Klose
694d3cfd60
sysv.S (__ARM_ARCH__): Define for processor __ARM_ARCH_7EM__.
...
2010-02-15 Matthias Klose <doko@ubuntu.com>
* src/arm/sysv.S (__ARM_ARCH__): Define for processor
__ARM_ARCH_7EM__.
From-SVN: r156771
2010-02-15 15:19:30 +00:00
Rainer Orth
86d1b9d1e0
* src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
...
From-SVN: r155674
2010-01-06 14:22:26 +00:00
David Edelsohn
72b79d3945
ffi_darwin.c (ffi_prep_args): Copy abi and nargs to local variables.
...
* 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-28 13:19:18 -05:00
Andreas Tobler
99fba2c42a
configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
...
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-26 19:49:55 +01:00
Andreas Schwab
302486f4fb
ffi.c (ffi_prep_args_SYSV): Advance intarg_count when a float arguments is 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-26 12:40:27 +00:00
Frank Everdij
c4205f77f3
IRIX support
...
From-SVN: r155470
2009-12-26 04:59:25 +00:00
Bradley Smith
124f60ab29
avr32 libffi port
...
From-SVN: r155469
2009-12-26 04:21:07 +00:00
John David Anglin
f93a40eaa3
ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE type on HP-UX.
...
* src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
type on HP-UX.
From-SVN: r155205
2009-12-14 02:42:18 +00:00
Eric Botcazou
fb01d970c4
ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long double' arguments.
...
* src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
double' arguments.
From-SVN: r155152
2009-12-11 10:06:18 +00:00
Rainer Orth
dcb00f2e8e
re PR libffi/40700 (All amd64 libffi execution tests fail on Solaris 10/x86)
...
PR libffi/40700
* src/closures.c [X86_64 && __sun__ && __svr4__]
(FFI_MMAP_EXEC_WRIT): Define.
From-SVN: r155124
2009-12-10 10:09:17 +00:00
David Edelsohn
9e7e65a08b
aix_closure.S (libffi_closure_ASM): Fix tablejump typo.
...
* src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
typo.
From-SVN: r155070
2009-12-07 19:41:10 -05:00
David Edelsohn
5d7fc9412c
aix.S: Update AIX32 code to be consistent with AIX64 code.
...
* src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
code.
* src/powerpc/aix_closure.s: Same.
From-SVN: r155016
2009-12-05 16:48:58 -05:00
David Edelsohn
2f2d73866b
aix_closure.S: Reorganize 64-bit code to match linux64_closure.S.
...
* src/powerpc/aix_closure.S: Reorganize 64-bit code to match
linux64_closure.S.
From-SVN: r155001
2009-12-04 17:24:05 -05:00
Uros Bizjak
6078f50a12
re PR libffi/41908 (closures fail for some structure arguments containing 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-04 19:41:59 +01:00
David Edelsohn
0c5526222c
ffi_darwin.c (ffi_closure_helper_DARWIN): Increment pfr for long double 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-04 10:36:50 -05:00
David Edelsohn
afb5e62297
ffi_darwin.c (ffi_prep_args): Increment next_arg and fparg_count twice for 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-03 22:43:40 -05:00
David Edelsohn
be311914b8
re PR libffi/42243 (powerpc-apple-darwin9 libffi failures)
...
PR libffi/42243
* src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
From-SVN: r154956
2009-12-03 14:09:29 -05:00
David Edelsohn
7837c24708
ffi_darwin.c (ffi_prep_args): Fix typo in INT64 case.
...
* src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
case.
From-SVN: r154932
2009-12-02 20:32:21 -05:00
David Edelsohn
6d518d3b72
aix.S (ffi_call_AIX): Convert to more standard register usage.
...
* 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-12-01 23:21:08 -05:00
David Edelsohn
5751cf6fef
re PR libffi/35484 (libffi doesn't support AIX 64bit)
...
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-11-30 18:34:33 -05:00
Kai Tietz
ef6ed66d16
win64.S (_ffi_call_win64 stack): Remove for gnu assembly version use of ___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-29 00:26:25 +02:00
Matthias Klose
29d1370a8f
PR libffi/40242, PR libffi/41443
...
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-23 14:50:35 +00:00
Loren J. Rittle
987ce5575c
PR testsuite/32843 (strikes again)
...
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-17 20:54:56 +00:00
David Daney
5cbf8c8d0b
java_raw_api.c (ffi_java_raw_to_rvalue): Remove special handling for 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-09-15 17:15:33 +00:00
Dave Korn
723512bab1
re PR libffi/40807 (libffi.call/return_sc.c)
...
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
2009-07-24 10:12:16 +00:00
Wim Lewis
6975f17fe7
ffi.c: Avoid clobbering cr3 and cr4, which are supposed to be callee-saved.
...
2009-06-16 Wim Lewis <wiml@hhhh.org>
* src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
supposed to be callee-saved.
* src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
return buffer for odd-size structs.
From-SVN: r148543
2009-06-16 19:55:39 +02:00
Andrew Haley
062b827975
[multiple changes]
...
2009-06-12 Andrew Haley <aph@redhat.com>
* ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
testsuite/libffi.call/cls_align_uint64.c,
testsuite/libffi.call/cls_ulonglong.c,
testsuite/libffi.call/return_ll1.c,
testsuite/libffi.call/stret_medium2.c: Fix printf format
specifiers.
testsuite/libffi.special/unwindtest.cc: include stdint.h.
2009-06-11 Timothy Wall <twall@users.sf.net>
* Makefile.am,
configure.ac,
include/ffi.h.in,
include/ffi_common.h,
src/closures.c,
src/dlmalloc.c,
src/x86/ffi.c,
src/x86/ffitarget.h,
src/x86/win64.S (new),
README: Added win64 support (mingw or MSVC)
* Makefile.in,
include/Makefile.in,
man/Makefile.in,
testsuite/Makefile.in,
configure,
aclocal.m4: Regenerated
* ltcf-c.sh: properly escape cygwin/w32 path
* man/ffi_call.3: Clarify size requirements for return value.
* src/x86/ffi64.c: Fix filename in comment.
* src/x86/win32.S: Remove unused extern.
* testsuite/libffi.call/closure_fn0.c,
testsuite/libffi.call/closure_fn1.c,
testsuite/libffi.call/closure_fn2.c,
testsuite/libffi.call/closure_fn3.c,
testsuite/libffi.call/closure_fn4.c,
testsuite/libffi.call/closure_fn5.c,
testsuite/libffi.call/closure_fn6.c,
testsuite/libffi.call/closure_stdcall.c,
testsuite/libffi.call/cls_12byte.c,
testsuite/libffi.call/cls_16byte.c,
testsuite/libffi.call/cls_18byte.c,
testsuite/libffi.call/cls_19byte.c,
testsuite/libffi.call/cls_1_1byte.c,
testsuite/libffi.call/cls_20byte.c,
testsuite/libffi.call/cls_20byte1.c,
testsuite/libffi.call/cls_24byte.c,
testsuite/libffi.call/cls_2byte.c,
testsuite/libffi.call/cls_3_1byte.c,
testsuite/libffi.call/cls_3byte1.c,
testsuite/libffi.call/cls_3byte2.c,
testsuite/libffi.call/cls_4_1byte.c,
testsuite/libffi.call/cls_4byte.c,
testsuite/libffi.call/cls_5_1_byte.c,
testsuite/libffi.call/cls_5byte.c,
testsuite/libffi.call/cls_64byte.c,
testsuite/libffi.call/cls_6_1_byte.c,
testsuite/libffi.call/cls_6byte.c,
testsuite/libffi.call/cls_7_1_byte.c,
testsuite/libffi.call/cls_7byte.c,
testsuite/libffi.call/cls_8byte.c,
testsuite/libffi.call/cls_9byte1.c,
testsuite/libffi.call/cls_9byte2.c,
testsuite/libffi.call/cls_align_double.c,
testsuite/libffi.call/cls_align_float.c,
testsuite/libffi.call/cls_align_longdouble.c,
testsuite/libffi.call/cls_align_longdouble_split.c,
testsuite/libffi.call/cls_align_longdouble_split2.c,
testsuite/libffi.call/cls_align_pointer.c,
testsuite/libffi.call/cls_align_sint16.c,
testsuite/libffi.call/cls_align_sint32.c,
testsuite/libffi.call/cls_align_sint64.c,
testsuite/libffi.call/cls_align_uint16.c,
testsuite/libffi.call/cls_align_uint32.c,
testsuite/libffi.call/cls_align_uint64.c,
testsuite/libffi.call/cls_dbls_struct.c,
testsuite/libffi.call/cls_double.c,
testsuite/libffi.call/cls_double_va.c,
testsuite/libffi.call/cls_float.c,
testsuite/libffi.call/cls_longdouble.c,
testsuite/libffi.call/cls_longdouble_va.c,
testsuite/libffi.call/cls_multi_schar.c,
testsuite/libffi.call/cls_multi_sshort.c,
testsuite/libffi.call/cls_multi_sshortchar.c,
testsuite/libffi.call/cls_multi_uchar.c,
testsuite/libffi.call/cls_multi_ushort.c,
testsuite/libffi.call/cls_multi_ushortchar.c,
testsuite/libffi.call/cls_pointer.c,
testsuite/libffi.call/cls_pointer_stack.c,
testsuite/libffi.call/cls_schar.c,
testsuite/libffi.call/cls_sint.c,
testsuite/libffi.call/cls_sshort.c,
testsuite/libffi.call/cls_uchar.c,
testsuite/libffi.call/cls_uint.c,
testsuite/libffi.call/cls_ulonglong.c,
testsuite/libffi.call/cls_ushort.c,
testsuite/libffi.call/err_bad_abi.c,
testsuite/libffi.call/err_bad_typedef.c,
testsuite/libffi.call/float2.c,
testsuite/libffi.call/huge_struct.c,
testsuite/libffi.call/nested_struct.c,
testsuite/libffi.call/nested_struct1.c,
testsuite/libffi.call/nested_struct10.c,
testsuite/libffi.call/nested_struct2.c,
testsuite/libffi.call/nested_struct3.c,
testsuite/libffi.call/nested_struct4.c,
testsuite/libffi.call/nested_struct5.c,
testsuite/libffi.call/nested_struct6.c,
testsuite/libffi.call/nested_struct7.c,
testsuite/libffi.call/nested_struct8.c,
testsuite/libffi.call/nested_struct9.c,
testsuite/libffi.call/problem1.c,
testsuite/libffi.call/return_ldl.c,
testsuite/libffi.call/return_ll1.c,
testsuite/libffi.call/stret_large.c,
testsuite/libffi.call/stret_large2.c,
testsuite/libffi.call/stret_medium.c,
testsuite/libffi.call/stret_medium2.c,
testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
of checking for MMAP. Use intptr_t instead of long casts.
2009-06-12 Andrew Haley <aph@redhat.com>
* Makefile.am: Remove info_TEXINFOS.
From-SVN: r148433
2009-06-12 15:57:58 +00:00
Andrew Haley
6aa0b21841
freebsd.S: Add missing file.
...
2009-06-09 Andrew Haley <aph@redhat.com>
* src/x86/freebsd.S: Add missing file.
From-SVN: r148313
2009-06-09 15:23:38 +00:00
Andrew Haley
56faec5e60
ffitarget.h, ffi.c: Merge stdcall changes from libffi.
...
2009-06-05 Andrew Haley <aph@redhat.com>
* src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
libffi.
From-SVN: r148207
2009-06-05 12:55:06 +00:00
Andrew Haley
90409e4c8a
ffitarget.h, [...]: Back out stdcall changes.
...
2009-06-04 Andrew Haley <aph@redhat.com>
* src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
stdcall changes.
From-SVN: r148178
2009-06-04 17:08:10 +00:00
Andrew Haley
b139375003
[multiple changes]
...
2008-02-26 Anthony Green <green@redhat.com>
Thomas Heller <theller@ctypes.org>
* src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
comment.
2008-02-03 Timothy Wall <twall@users.sf.net>
* src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
offset based on code pointer, not data pointer.
2008-01-31 Timothy Wall <twall@users.sf.net>
* testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
closures.
* src/x86/ffitarget.h: Increase size of trampoline for stdcall
closures.
* src/x86/win32.S: Add assembly for stdcall closure.
* src/x86/ffi.c: Initialize stdcall closure trampoline.
From-SVN: r148174
2009-06-04 16:02:47 +00:00
Andrew Haley
96baa25172
ffi.h.in: Change void (*)() to void (*)(void).
...
2009-06-04 Andrew Haley <aph@redhat.com>
* include/ffi.h.in: Change void (*)() to void (*)(void).
* src/x86/ffi.c: Likewise.
From-SVN: r148173
2009-06-04 15:50:24 +00:00
Andrew Haley
7446546ab0
[multiple changes]
...
2009-06-04 Andrew Haley <aph@redhat.com>
* src/powerpc/ppc_closure.S: Insert licence header.
* src/powerpc/linux64_closure.S: Likewise.
* src/m68k/sysv.S: Likewise.
* src/sh64/ffi.c: Change void (*)() to void (*)(void).
* src/powerpc/ffi.c: Likewise.
* src/powerpc/ffi_darwin.c: Likewise.
* src/m32r/ffi.c: Likewise.
* src/sh64/ffi.c: Likewise.
* src/x86/ffi64.c: Likewise.
* src/alpha/ffi.c: Likewise.
* src/alpha/osf.S: Likewise.
* src/frv/ffi.c: Likewise.
* src/s390/ffi.c: Likewise.
* src/pa/ffi.c: Likewise.
* src/pa/hpux32.S: Likewise.
* src/ia64/unix.S: Likewise.
* src/ia64/ffi.c: Likewise.
* src/sparc/ffi.c: Likewise.
* src/mips/ffi.c: Likewise.
* src/sh/ffi.c: Likewise.
2008-02-15 David Daney <ddaney@avtrex.com>
* src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
Define (conditionally), and use it to include cachectl.h.
(ffi_prep_closure_loc): Fix cache flushing.
* src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
From-SVN: r148172
2009-06-04 15:43:03 +00:00
Andrew Haley
5f933ef0d8
2009-06-04 Andrew Haley <aph@redhat.com>
...
include/ffi.h.in,
src/arm/ffitarget.h,
src/arm/ffi.c,
src/arm/sysv.S,
src/powerpc/ffitarget.h,
src/closures.c,
src/sh64/ffitarget.h,
src/sh64/ffi.c,
src/sh64/sysv.S,
src/types.c,
src/x86/ffi64.c,
src/x86/ffitarget.h,
src/x86/win32.S,
src/x86/darwin.S,
src/x86/ffi.c,
src/x86/sysv.S,
src/x86/unix64.S,
src/alpha/ffitarget.h,
src/alpha/ffi.c,
src/alpha/osf.S,
src/m68k/ffitarget.h,
src/frv/ffitarget.h,
src/frv/ffi.c,
src/s390/ffitarget.h,
src/s390/sysv.S,
src/cris/ffitarget.h,
src/pa/linux.S,
src/pa/ffitarget.h,
src/pa/ffi.c,
src/raw_api.c,
src/ia64/ffitarget.h,
src/ia64/unix.S,
src/ia64/ffi.c,
src/ia64/ia64_flags.h,
src/java_raw_api.c,
src/debug.c,
src/sparc/v9.S,
src/sparc/ffitarget.h,
src/sparc/ffi.c,
src/sparc/v8.S,
src/mips/ffitarget.h,
src/mips/n32.S,
src/mips/o32.S,
src/mips/ffi.c,
src/prep_cif.c,
src/sh/ffitarget.h,
src/sh/ffi.c,
src/sh/sysv.S: Update license text.
From-SVN: r148171
2009-06-04 15:11:12 +00:00
Dave Korn
84c40c4a8f
win32.S (_ffi_closure_STDCALL): New function.
...
* src/x86/win32.S (_ffi_closure_STDCALL): New function.
(.eh_frame): Add FDE for it.
From-SVN: r147802
2009-05-22 17:58:45 +00:00
Dave Korn
8353cd27a4
configure.ac: Also check if assembler supports pc-relative relocs on X86_WIN32 targets.
...
* configure.ac: Also check if assembler supports pc-relative
relocs on X86_WIN32 targets.
* configure: Regenerate.
* src/x86/win32.S (ffi_prep_args): Declare extern, not global.
(_ffi_call_SYSV): Add missing function type symbol .def and
add EH markup labels.
(_ffi_call_STDCALL): Likewise.
(_ffi_closure_SYSV): Likewise.
(_ffi_closure_raw_SYSV): Likewise.
(.eh_frame): Add hand-crafted EH data.
From-SVN: r147800
2009-05-22 16:22:53 +00:00
Rainer Orth
4d3d40782b
re PR libffi/26048 (libffi doesn't build on Solaris 10/x86 with native assembler)
...
PR libffi/26048
* configure.ac (HAVE_AS_X86_PCREL): New test.
* configure: Regenerate.
* fficonfig.h.in: Regenerate.
* src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
(.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
* src/x86/unix64.S (.Lstore_table): Move to .text section.
(.Lload_table): Likewise.
(.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
From-SVN: r142835
2008-12-19 14:59:42 +00:00