summaryrefslogtreecommitdiff
path: root/libffi/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
* * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.amodra2004-02-091-0/+9
| | | | | | | | | | | (ffi_closure_helper_LINUX64): Fix typo. * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128 for powerpc64-*-*. * testsuite/libffi.call/float.c: Likewise. * testsuite/libffi.call/float2.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77522 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correctamodra2004-02-081-0/+13
| | | | | | | | | | | | | | | long double function return and long double arg handling. (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var. Use "end_pfr" instead of "nf". Correct long double handling. Localise "temp". * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double return value. * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate space for long double return value. Adjust stack frame and offsets. Load f2 long double return. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77481 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/types.c: Use 16 byte long double for POWERPC64.amodra2004-02-071-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77441 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter arrayebotcazou2004-01-251-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when the structure return address is passed in %o0. (ffi_V9_return_struct): Rename into ffi_v9_layout_struct. (ffi_v9_layout_struct): Align the field following a nested structure on a word boundary. Use memmove instead of memcpy. (ffi_call): Update call to ffi_V9_return_struct. (ffi_prep_closure): Define 'ctx' only for V8. (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8 and ffi_closure_sparc_inner_v9. (ffi_closure_sparc_inner_v8): Return long doubles by reference. Always skip the structure return address. For structures and long doubles, copy the argument directly. (ffi_closure_sparc_inner_v9): Skip the structure return address only if required. Shift the maximum floating-point slot accordingly. For big structures, copy the argument directly; otherwise, left-justify the argument and call ffi_v9_layout_struct to lay out the structure on the stack. * src/sparc/v8.S: Undef STACKFRAME before defining it. (ffi_closure_v8): Pass the structure return address. Update call to ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling. Skip the 'unimp' insn when returning long doubles and structures. * src/sparc/v9.S: Undef STACKFRAME before defining it. (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit FFI_TYPE_INT handling. Load structures both in integers and floating-point registers on return. * README: Update status of the SPARC port. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76543 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-01-24 Andreas Tobler <a.tobler@schweiz.ch>andreast2004-01-241-0/+6
| | | | | | | | | * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value as of type ffi_arg. * testsuite/libffi.call/struct3.c (main): Fix CHECK. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76513 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat resultuweigand2004-01-221-0/+5
| | | | | | | value as of type ffi_arg, not unsigned int. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76377 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-01-21 Michael Ritzert <ritzert@t-online.de>aj2004-01-211-8/+13
| | | | | | | | * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead of the LHS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76261 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>andreast2004-01-121-0/+5
| | | | | | | | * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for Solaris. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75760 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILEDro2004-01-081-0/+5
| | | | | | | to void *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75548 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/libffi.call/cls_align_pointer.c: Cast pointers torth2003-12-101-0/+5
| | | | | | | size_t instead of int. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74492 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-12-04 Hosaka Yuji <hos@tamanegi.org>andreast2003-12-041-0/+17
| | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74282 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-12-02 Hosaka Yuji <hos@tamanegi.org>andreast2003-12-021-0/+6
| | | | | | | | | PR other/13221 * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Align arguments to 32 bits. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74161 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-12-011-0/+12
| | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74093 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.ghazi2003-11-261-0/+5
| | | | | | | * testsuite/libffi.special/ffitestcxx.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73950 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-11-22 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-11-221-0/+7
| | | | | | | | | | * Makefile.in: Rebuilt. * configure: Likewise. * testsuite/libffi.special/unwindtest.cc: Convert the mmap to the right type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73837 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-11-21 Andreas Jaeger <aj@suse.de>andreast2003-11-211-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73800 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-11-201-0/+4
| | | | | | | * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73763 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-11-191-0/+5
| | | | | | | | * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin. Add -lgcc_s to additional flags. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73726 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-11-121-0/+9
| | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73504 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-11-091-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73393 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-11-081-0/+16
| | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73372 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-11-081-0/+9
| | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73369 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-11-061-1/+6
| | | | | | | | * src/prep_cif.c (ffi_prep_cif): Move the validity check after the initialization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73309 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-10-231-0/+5
| | | | | | | | * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace FFI_ASSERT(FALSE) with FFI_ASSERT(0). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72865 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-10-22 David Daney <ddaney@avtrex.com>daney2003-10-221-0/+5
| | | | | | | | * src/mips/ffitarget.h: Replace undefined UINT32 and friends with __attribute__((__mode__(__SI__))) and friends. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72802 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.schwab2003-10-221-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72797 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-10-21 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-10-211-0/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72766 138bc75d-0d04-0410-961f-82ee72b054a4
* libffi:ro2003-10-201-0/+5
| | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72713 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-10-201-0/+5
| | | | | | | | * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again. Used when FFI_DEBUG = 1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72691 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/types.c (double, longdouble): Default POWERPC64 to 8 byte sizeamodra2003-10-131-0/+5
| | | | | | | and align. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72432 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,ro2003-10-061-0/+5
| | | | | | | FFI_MIPS_O32 for O32 ABI. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72161 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-10-011-0/+5
| | | | | | | | * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for SPARC64. Cleanup whitespaces. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71982 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-09-191-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71584 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/powerpc/aix.S: Cleanup whitespaces.dje2003-09-181-0/+5
| | | | | | | * src/powerpc/aix_closure.S: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71542 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-09-181-0/+6
| | | | | | | | | * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting. * src/powerpc/darwin_closure.S: Likewise. * src/powerpc/ffi_darwin.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71533 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-09-181-0/+16
| | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71530 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/sh/ffi.c (ffi_prep_args): Take account into the alignementkkojima2003-09-181-0/+11
| | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71521 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search inro2003-09-171-0/+5
| | | | | | | srcdir for ffi_mips.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71469 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/prep_cif.c (initialize_aggregate): Include tail padding inamodra2003-09-111-0/+9
| | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71323 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/types.c (double, longdouble): Merge identical SH and ARMamodra2003-09-111-0/+9
| | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71295 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-09-091-0/+5
| | | | | | | | * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct passing correctly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71238 138bc75d-0d04-0410-961f-82ee72b054a4
* * libtool.m4 (LD): Correct powerpc64 host match.amodra2003-09-091-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71229 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-09-041-1/+6
| | | | | | | | * Makefile.am: Remove build rules for ffitest. * Makefile.in: Rebuilt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71078 138bc75d-0d04-0410-961f-82ee72b054a4
* sorry forgot the changelog.andreast2003-09-041-0/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71073 138bc75d-0d04-0410-961f-82ee72b054a4
* 003-09-04 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-09-041-0/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71068 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Updatekkojima2003-08-131-0/+5
| | | | | | | copyright years. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70421 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gccamodra2003-08-011-0/+10
| | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70050 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>andreast2003-07-301-0/+5
| | | | | | | | * src/sparc/ffi.c: Handle all floating point registers. * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69951 138bc75d-0d04-0410-961f-82ee72b054a4
* * README: Note that libffi is not part of GCC. Update the projectgerald2003-07-111-0/+5
| | | | | | | URL and status. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69250 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>sirl2003-06-191-0/+4
| | | | | | | * src/powerpc/ppc_closure.S: Include ffi.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68191 138bc75d-0d04-0410-961f-82ee72b054a4