Richard Henderson
628b26f8b2
cls_align_pointer.c: Cast pointers to size_t instead of int.
...
* testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
size_t instead of int.
From-SVN: r74492
2003-12-10 01:43:29 -08:00
Hosaka Yuji
0ee646d6ac
many_win32.c: Include <float.h>.
...
2003-12-04 Hosaka Yuji <hos@tamanegi.org>
* testsuite/libffi.call/many_win32.c: Include <float.h>.
* testsuite/libffi.call/many_win32.c (main): Replace variable
int i with unsigned long ul.
* testsuite/libffi.call/cls_align_uint64.c: New test case.
* testsuite/libffi.call/cls_align_sint64.c: Likewise.
* testsuite/libffi.call/cls_align_uint32.c: Likewise.
* testsuite/libffi.call/cls_align_sint32.c: Likewise.
* testsuite/libffi.call/cls_align_uint16.c: Likewise.
* testsuite/libffi.call/cls_align_sint16.c: Likewise.
* testsuite/libffi.call/cls_align_float.c: Likewise.
* testsuite/libffi.call/cls_align_double.c: Likewise.
* testsuite/libffi.call/cls_align_longdouble.c: Likewise.
* testsuite/libffi.call/cls_align_pointer.c: Likewise.
From-SVN: r74282
2003-12-04 18:51:17 +01:00
Hosaka Yuji
2c4ed4565a
re PR libffi/13221 (libffi's closure couldn't pass sequence of char and/or short arguments.)
...
2003-12-02 Hosaka Yuji <hos@tamanegi.org>
PR other/13221
* src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
Align arguments to 32 bits.
From-SVN: r74161
2003-12-02 06:39:06 +01:00
Andreas Tobler
d18c338615
re PR libffi/13221 (libffi's closure couldn't pass sequence of char and/or short arguments.)
...
2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
PR other/13221
* testsuite/libffi.call/cls_multi_sshort.c: New test case.
* testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
* testsuite/libffi.call/cls_multi_uchar.c: Likewise.
* testsuite/libffi.call/cls_multi_schar.c: Likewise.
* testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
* testsuite/libffi.call/cls_multi_ushort.c: Likewise.
* testsuite/libffi.special/unwindtest.cc: Cosmetics.
From-SVN: r74093
2003-12-01 08:23:28 +01:00
Kaveh R. Ghazi
88096b2a59
ffitest.h: Include <fcntl.h>.
...
* testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
* testsuite/libffi.special/ffitestcxx.h: Likewise.
From-SVN: r73950
2003-11-26 13:46:10 +00:00
Andreas Tobler
3eee102eda
Makefile.in: Rebuilt.
...
2003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
* Makefile.in: Rebuilt.
* configure: Likewise.
* testsuite/libffi.special/unwindtest.cc: Convert the mmap to
the right type.
From-SVN: r73837
2003-11-22 14:41:33 +01:00
Andreas Jaeger
5196736e47
acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
...
2003-11-21 Andreas Jaeger <aj@suse.de>
Andreas Tobler <a.tobler@schweiz.ch>
* acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
* configure.in: Call AC_FUNC_MMAP_BLACKLIST.
* Makefile.in: Rebuilt.
* aclocal.m4: Likewise.
* configure: Likewise.
* fficonfig.h.in: Likewise.
* testsuite/lib/libffi-dg.exp: Add include dir.
* testsuite/libffi.call/ffitest.h: Add MMAP definitions.
* testsuite/libffi.special/ffitestcxx.h: Likewise.
* testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
for ffi_closure if available.
* testsuite/libffi.call/closure_fn1.c: Likewise.
* testsuite/libffi.call/closure_fn2.c: Likewise.
* testsuite/libffi.call/closure_fn3.c: Likewise.
* testsuite/libffi.call/closure_fn4.c: Likewise.
* testsuite/libffi.call/closure_fn5.c: Likewise.
* testsuite/libffi.call/cls_12byte.c: Likewise.
* testsuite/libffi.call/cls_16byte.c: Likewise.
* testsuite/libffi.call/cls_18byte.c: Likewise.
* testsuite/libffi.call/cls_19byte.c: Likewise.
* testsuite/libffi.call/cls_1_1byte.c: Likewise.
* testsuite/libffi.call/cls_20byte.c: Likewise.
* testsuite/libffi.call/cls_20byte1.c: Likewise.
* testsuite/libffi.call/cls_24byte.c: Likewise.
* testsuite/libffi.call/cls_2byte.c: Likewise.
* testsuite/libffi.call/cls_3_1byte.c: Likewise.
* testsuite/libffi.call/cls_3byte1.c: Likewise.
* testsuite/libffi.call/cls_3byte2.c: Likewise.
* testsuite/libffi.call/cls_4_1byte.c: Likewise.
* testsuite/libffi.call/cls_4byte.c: Likewise.
* testsuite/libffi.call/cls_5byte.c: Likewise.
* testsuite/libffi.call/cls_64byte.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_9byte1.c: Likewise.
* testsuite/libffi.call/cls_9byte2.c: Likewise.
* testsuite/libffi.call/cls_double.c: Likewise.
* testsuite/libffi.call/cls_float.c: Likewise.
* testsuite/libffi.call/cls_schar.c: Likewise.
* testsuite/libffi.call/cls_sint.c: Likewise.
* testsuite/libffi.call/cls_sshort.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/nested_struct.c: Likewise.
* testsuite/libffi.call/nested_struct1.c: Likewise.
* testsuite/libffi.call/nested_struct2.c: Likewise.
* testsuite/libffi.call/nested_struct3.c: Likewise.
* testsuite/libffi.call/problem1.c: Likewise.
* testsuite/libffi.special/unwindtest.cc: Likewise.
Co-Authored-By: Andreas Tobler <a.tobler@schweiz.ch>
From-SVN: r73800
2003-11-21 12:24:10 +01:00
Andreas Tobler
9e6c3ecb96
libffi-dg.exp: Make the -lgcc_s conditional.
...
2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
From-SVN: r73763
2003-11-20 16:19:09 +01:00
Andreas Tobler
70d8f2a1b2
libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
...
2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
Add -lgcc_s to additional flags.
From-SVN: r73726
2003-11-19 05:55:32 +01:00
Andreas Tobler
ea81d2a3e1
re PR libffi/11147 (fficonfig.h is abi-specific)
...
2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
* configure.in, include/Makefile.am: PR libgcj/11147, install
the ffitarget.h header file in a gcc versioned and target
dependent place.
* configure: Regenerated.
* Makefile.in, include/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
From-SVN: r73504
2003-11-12 19:18:30 +01:00
Andreas Tobler
647af4a91c
closure_fn0.c: Print result and check with dg-output to make debugging easier.
...
2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libffi.call/closure_fn0.c: Print result and check
with dg-output to make debugging easier.
* testsuite/libffi.call/closure_fn1.c: Likewise.
* testsuite/libffi.call/closure_fn2.c: Likewise.
* testsuite/libffi.call/closure_fn3.c: Likewise.
* testsuite/libffi.call/closure_fn4.c: Likewise.
* testsuite/libffi.call/closure_fn5.c: Likewise.
* testsuite/libffi.call/cls_12byte.c: Likewise.
* testsuite/libffi.call/cls_16byte.c: Likewise.
* testsuite/libffi.call/cls_18byte.c: Likewise.
* testsuite/libffi.call/cls_19byte.c: Likewise.
* testsuite/libffi.call/cls_1_1byte.c: Likewise.
* testsuite/libffi.call/cls_20byte.c: Likewise.
* testsuite/libffi.call/cls_20byte1.c: Likewise.
* testsuite/libffi.call/cls_24byte.c: Likewise.
* testsuite/libffi.call/cls_2byte.c: Likewise.
* testsuite/libffi.call/cls_3_1byte.c: Likewise.
* testsuite/libffi.call/cls_3byte1.c: Likewise.
* testsuite/libffi.call/cls_3byte2.c: Likewise.
* testsuite/libffi.call/cls_4_1byte.c: Likewise.
* testsuite/libffi.call/cls_4byte.c: Likewise.
* testsuite/libffi.call/cls_5byte.c: Likewise.
* testsuite/libffi.call/cls_64byte.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_9byte1.c: Likewise.
* testsuite/libffi.call/cls_9byte2.c: Likewise.
* testsuite/libffi.call/cls_double.c: Likewise.
* testsuite/libffi.call/cls_float.c: Likewise.
* testsuite/libffi.call/cls_schar.c: Likewise.
* testsuite/libffi.call/cls_sint.c: Likewise.
* testsuite/libffi.call/cls_sshort.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/problem1.c: Likewise.
* testsuite/libffi.special/unwindtest.cc: Make ffi_closure
static.
From-SVN: r73393
2003-11-09 18:05:10 +01:00
Andreas Tobler
ac47cc13ab
cls_9byte2.c: New test case.
...
2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libffi.call/cls_9byte2.c: New test case.
* testsuite/libffi.call/cls_9byte1.c: Likewise.
* testsuite/libffi.call/cls_64byte.c: Likewise.
* testsuite/libffi.call/cls_20byte1.c: Likewise.
* testsuite/libffi.call/cls_19byte.c: Likewise.
* testsuite/libffi.call/cls_18byte.c: Likewise.
* testsuite/libffi.call/closure_fn4.c: Likewise.
* testsuite/libffi.call/closure_fn5.c: Likewise.
* testsuite/libffi.call/cls_schar.c: Likewise.
* testsuite/libffi.call/cls_sint.c: Likewise.
* testsuite/libffi.call/cls_sshort.c: Likewise.
* testsuite/libffi.call/nested_struct2.c: Likewise.
* testsuite/libffi.call/nested_struct3.c: Likewise.
From-SVN: r73372
2003-11-08 20:03:58 +01:00
Andreas Tobler
f145ed6b90
cls_double.c: Do a check on the result.
...
2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libffi.call/cls_double.c: Do a check on the result.
* 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/return_sc.c: Cleanup whitespaces.
From-SVN: r73369
2003-11-08 19:32:16 +01:00
Andreas Tobler
2b04d015d6
prep_cif.c (ffi_prep_cif): Move the validity check after the initialization.
...
2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
* src/prep_cif.c (ffi_prep_cif): Move the validity check after
the initialization.
From-SVN: r73309
2003-11-06 16:47:41 +01:00
Andreas Tobler
57f542b355
java_raw_api.c (ffi_java_ptrarray_to_raw): Replace FFI_ASSERT(FALSE) with FFI_ASSERT(0).
...
2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
* src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
FFI_ASSERT(FALSE) with FFI_ASSERT(0).
From-SVN: r72865
2003-10-23 22:24:20 +02:00
David Daney
e61acf7242
ffitarget.h: Replace undefined UINT32 and friends with __attribute__((__mode__(__SI__))) and...
...
2003-10-22 David Daney <ddaney@avtrex.com>
* src/mips/ffitarget.h: Replace undefined UINT32 and friends with
__attribute__((__mode__(__SI__))) and friends.
From-SVN: r72802
2003-10-22 15:32:13 +00:00
Andreas Schwab
2461c08bab
* src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
...
From-SVN: r72797
2003-10-22 13:57:12 +00:00
Andreas Tobler
c860c22ce8
remove unnecessary files.
...
From-SVN: r72768
2003-10-21 21:08:55 +02:00
Andreas Tobler
c5a4ab3a8b
commit missing adds.
...
From-SVN: r72767
2003-10-21 21:07:52 +02:00
Andreas Tobler
1450eb7a07
[multiple changes]
...
2003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
* configure.in: AC_LINK_FILES(ffitarget.h).
* configure: Regenerate.
* Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* fficonfig.h.in: Likewise.
2003-10-21 Paolo Bonzini <bonzini@gnu.org>
Richard Henderson <rth@redhat.com>
Avoid that ffi.h includes fficonfig.h.
* Makefile.am (EXTRA_DIST): Include ffitarget.h files
(TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(TARGET_SRC_MIPS_SGI): Removed.
(MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(MIPS_SGI): Removed.
(CLEANFILES): Removed.
(mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
targets.
* acconfig.h: Removed.
* configure.in: Compute sizeofs only for double and long double.
Use them to define and subst HAVE_LONG_DOUBLE. Include comments
into AC_DEFINE instead of using acconfig.h. Create
include/ffitarget.h instead of include/fficonfig.h. Rename
MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
AC_DEFINE EH_FRAME_FLAGS.
* include/Makefile.am (DISTCLEANFILES): New automake macro.
(hack_DATA): Add ffitarget.h.
* include/ffi.h.in: Remove all system specific definitions.
Declare raw API even if it is not installed, why bother?
Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
(UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
* include/ffi_common.h (bool): Do not define.
(ffi_assert): Accept failed assertion.
(ffi_type_test): Return void and accept file/line.
(FFI_ASSERT): Pass stringized failed assertion.
(FFI_ASSERT_AT): New macro.
(FFI_ASSERT_VALID_TYPE): New macro.
(UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
UINT64, SINT64): Define here with gcc's __attribute__ macro
instead of in ffi.h
(FLOAT32, ALIGN): Define here instead of in ffi.h
* include/ffi-mips.h: Removed. Its content moved to
src/mips/ffitarget.h after separating assembly and C sections.
* src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
SIZEOF_ARG -> FFI_SIZEOF_ARG.
* src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
* src/debug.c (ffi_assert): Accept stringized failed assertion.
(ffi_type_test): Rewritten.
* src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
FFI_ASSERT_VALID_TYPE.
* src/alpha/ffitarget.h, src/arm/ffitarget.h,
src/ia64/ffitarget.h, src/m68k/ffitarget.h,
src/mips/ffitarget.h, src/powerpc/ffitarget.h,
src/s390/ffitarget.h, src/sh/ffitarget.h,
src/sh64/ffitarget.h, src/sparc/ffitarget.h,
src/x86/ffitarget.h: New files.
* src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
src/powerpc/aix.S, src/powerpc/darwin.S,
src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
include fficonfig.h
From-SVN: r72766
2003-10-21 21:01:58 +02:00
Rainer Orth
27d54b2a6c
ffi.c: Use _ABIN32, _ABIO32 instead of external _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
...
libffi:
* src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
_MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
libstdc++-v3:
* config/cpu/mips/atomicity.h (__atomic_add): Use _ABIO32 instead
of external _MIPS_SIM_ABI32.
boehm-gc:
* mips_sgi_mach_dep.s: Use _ABIO32 instead of external
_MIPS_SIM_ABI32.
gcc:
* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
Use it in _MIPS_SIM definition.
* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
From-SVN: r72713
2003-10-20 18:37:22 +00:00
Andreas Tobler
0df6970d65
ffi_darwin.c (ffi_prep_args): Declare bytes again.
...
2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
* src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
Used when FFI_DEBUG = 1.
From-SVN: r72691
2003-10-20 06:25:32 +02:00
Alan Modra
2612ffce1f
types.c (double, longdouble): Default POWERPC64 to 8 byte size and align.
...
* src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
and align.
From-SVN: r72432
2003-10-14 02:07:44 +09:30
Rainer Orth
d54f735472
ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs, FFI_MIPS_O32 for O32 ABI.
...
* include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
FFI_MIPS_O32 for O32 ABI.
From-SVN: r72161
2003-10-06 19:18:35 +00:00
Andreas Tobler
7a54c8507f
libffi-dg.exp: Set LD_LIBRARY_PATH_64 for SPARC64.
...
2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
SPARC64. Cleanup whitespaces.
From-SVN: r71982
2003-10-01 19:11:02 +02:00
Andreas Tobler
9e3bfa9b75
closure_fn0.c: Xfail mips, arm, strongarm, xscale.
...
2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
* testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
strongarm, xscale. Cleanup whitespaces.
* 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_12byte.c: Likewise.
* testsuite/libffi.call/cls_16byte.c: Likewise.
* testsuite/libffi.call/cls_1_1byte.c: Likewise.
* testsuite/libffi.call/cls_20byte.c: Likewise.
* testsuite/libffi.call/cls_24byte.c: Likewise.
* testsuite/libffi.call/cls_2byte.c: Likewise.
* testsuite/libffi.call/cls_3_1byte.c: Likewise.
* testsuite/libffi.call/cls_3byte1.c: Likewise.
* testsuite/libffi.call/cls_3byte2.c: Likewise.
* testsuite/libffi.call/cls_4_1byte.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_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/nested_struct.c: Likewise.
* testsuite/libffi.call/nested_struct1.c: Likewise.
* testsuite/libffi.call/problem1.c: Likewise.
* testsuite/libffi.special/unwindtest.cc: Likewise.
* testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
From-SVN: r71584
2003-09-19 21:21:53 +02:00
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