summaryrefslogtreecommitdiff
path: root/libffi
Commit message (Collapse)AuthorAgeFilesLines
* 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>carlos2006-05-246-360/+174
| | | | | | | | | | | | * Makefile.am: Add install-html target. Add install-html to .PHONY * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * include/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114037 138bc75d-0d04-0410-961f-82ee72b054a4
* * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments fromdanglin2006-05-192-6/+11
| | | | | | | | stack slot. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113901 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>andreast2006-04-2218-1591/+110
| | | | | | | | | | | | | | | | | | | | | | | | * README: Remove notice about 'Crazy Comments'. * src/debug.c: Remove lint directives. Cleanup white spaces. * src/java_raw_api.c: Likewise. * src/prep_cif.c: Likewise. * src/raw_api.c: Likewise. * src/ffitest.c: Delete. No longer needed, all test cases migrated to the testsuite. * src/arm/ffi.c: Remove lint directives. * src/m32r/ffi.c: Likewise. * src/pa/ffi.c: Likewise. * src/powerpc/ffi.c: Likewise. * src/powerpc/ffi_darwin.c: Likewise. * src/sh/ffi.c: Likewise. * src/sh64/ffi.c: Likewise. * src/x86/ffi.c: Likewise. * testsuite/libffi.call/float2.c: Likewise. * testsuite/libffi.call/promotion.c: Likewise. * testsuite/libffi.call/struct1.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113181 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>andreast2006-04-123-3/+9
| | | | | | | | | * src/pa/hpux32.S: Correct unwind offset calculation for ffi_closure_pa32. * src/pa/linux.S: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112904 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix IA-64 problems with denorms getting clobbered by type conversions.wilson2006-04-122-35/+60
| | | | | | | | | | | | PR libgcj/26483 * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros. (hfa_type_load): Call stf_spill. (hfa_type_store): Call ldf_fill. (ffi_call): Adjust calls to above routines. Add local temps for macro result. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112900 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/testsuite:doko2006-04-102-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-04-10 Matthias Klose <doko@debian.org> * testsuite/lib/libjava.exp (libjava_init): Recognize multilib directory names containing underscores. libffi: 2006-04-10 Matthias Klose <doko@debian.org> * testsuite/lib/libjava.exp (libjava_init): Recognize multilib directory names containing underscores. libgomp: 2006-04-10 Matthias Klose <doko@debian.org> * testsuite/lib/libjava.exp (libjava_init): Recognize multilib directory names containing underscores. libjava: 2006-04-10 Matthias Klose <doko@debian.org> * testsuite/lib/libjava.exp (libjava_init): Recognize multilib directory names containing underscores. libmudflap: 2006-04-10 Matthias Klose <doko@debian.org> * testsuite/lib/libjava.exp (libjava_init): Recognize multilib directory names containing underscores. libstdc++: 2006-04-10 Matthias Klose <doko@debian.org> * testsuite/lib/libjava.exp (libjava_init): Recognize multilib directory names containing underscores. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112833 138bc75d-0d04-0410-961f-82ee72b054a4
* For PR 26483, IA-64 denorm failure due to unwanted rounding.wilson2006-04-072-0/+64
| | | | | | | * testsuite/libffi.call/float4.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112768 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-04-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>andreast2006-04-0511-268/+915
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Andreas Tobler <a.tobler@schweiz.ch> * Makefile.am: Add PA_HPUX port. * Makefile.in: Regenerate. * include/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. * configure.ac: Add PA_HPUX rules. * configure: Regenerate. * src/pa/ffitarget.h: Rename linux target to PA_LINUX. Add PA_HPUX and PA64_HPUX. Rename FFI_LINUX ABI to FFI_PA32 ABI. (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets. (FFI_TYPE_SMALL_STRUCT2): Define. (FFI_TYPE_SMALL_STRUCT4): Likewise. (FFI_TYPE_SMALL_STRUCT8): Likewise. (FFI_TYPE_SMALL_STRUCT3): Redefine. (FFI_TYPE_SMALL_STRUCT5): Likewise. (FFI_TYPE_SMALL_STRUCT6): Likewise. (FFI_TYPE_SMALL_STRUCT7): Likewise. * src/pa/ffi.c (ROUND_DOWN): Delete. (fldw, fstw, fldd, fstd): Use '__asm__'. (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8. (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment. Simplify incrementing of stack slot variable. Change type of local 'n' to unsigned int. (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long double on PA_HPUX. (ffi_prep_cif_machdep): Likewise. (ffi_call): Likewise. (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change return type to ffi_status. Simplify incrementing of stack slot variable. Only copy floating point argument registers when PA_LINUX is true. Reformat debug statement. Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8. (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to declaration. (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX. Add nops to cache flush. Add trampoline for PA_HPUX. * src/pa/hpux32.S: New file. * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename ffi_prep_args_LINUX to ffi_prep_args_pa32. Localize labels. Add support for 2, 4 and 8-byte small structs. Handle unaligned destinations in 3, 5, 6 and 7-byte small structs. Order argument type checks so that common argument types appear first. (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename ffi_closure_inner_LINUX to ffi_closure_inner_pa32. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112719 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Defaultamodra2006-03-236-163/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | for 32-bit using IBM extended double format. Fix FFI_LAST_ABI. * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of FFI_TYPE_LONGDOUBLE. (ffi_prep_args64): Assert using IBM extended double. (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type. Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args. (ffi_call): Handle FFI_LINUX. (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs gpr3 return pointer as for struct return. Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf" unnecessarily. * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2 for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table. Don't use r6 as pointer to results, instead use sp offset. Don't make a special call to load lr with case table address, instead use offset from previous call. * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return. * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double return. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112340 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float argumentskkojima2006-03-153-12/+46
| | | | | | | | | | passed with FP registers correctly. (ffi_closure_helper_SYSV): Likewise. * src/sh64/sysv.S: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112083 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-03-01 Andreas Tobler <a.tobler@schweiz.ch>andreast2006-02-285-11/+30
| | | | | | | | | | | * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif, args and userdata unused. (closure_test_fn1): Mark cif and userdata unused. (main): Remove unused res. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111583 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>andreast2006-02-2875-146/+335
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for -O2, -O3, -Os and the warning flags -W -Wall. * testsuite/libffi.special/special.exp: Likewise. * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark unused parameter unused for gcc or else do nothing. * testsuite/libffi.special/ffitestcxx.h: Likewise. * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif and userdata unused. * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise. * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise. * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise. * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise. * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise. * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise. * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise. * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise. * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise. * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise. * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise. * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise. * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise. * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise. * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise. * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise. * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise. * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise. * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise. * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise. * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise. * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise. * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise. * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn): Likewise. * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn): Likewise. * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn): Likewise. * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast void* to avoid compiler warning. (main): Likewise. (cls_struct_align_gn): Mark cif and userdata unused. * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn): Likewise. * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn): Likewise. * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn): Likewise. * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn): Likewise. * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn): Likewise. * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise. * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise. * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and data unused. (main): Cast res_call to silence gcc. * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and data unused. (main): Cast res_call to silence gcc. * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif and data unused. (main): Cast res_call to silence gcc. * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and data unused. (main): Cast res_call to silence gcc. * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and data unused. (main): Cast res_call to silence gcc. * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif and data unused. (main): Cast res_call to silence gcc. * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and userdata unused. (cls_ret_schar_fn): Cast printf parameter to silence gcc. * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and userdata unused. (cls_ret_sint_fn): Cast printf parameter to silence gcc. * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and userdata unused. (cls_ret_sshort_fn): Cast printf parameter to silence gcc. * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and userdata unused. (cls_ret_uchar_fn): Cast printf parameter to silence gcc. * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and userdata unused. (cls_ret_uint_fn): Cast printf parameter to silence gcc. * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif and userdata unused. * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and userdata unused. (cls_ret_ushort_fn): Cast printf parameter to silence gcc. * testsuite/libffi.call/float.c (floating): Remove unused parameter e. * testsuite/libffi.call/float1.c (main): Remove unused variable i. Cleanup white spaces. * testsuite/libffi.call/negint.c (checking): Remove unused variable i. * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark cif and userdata unused. * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn): Likewise. * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise. * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf formatters to silence gcc. (B_gn): Mark cif and userdata unused. * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata unused. * testsuite/libffi.call/nested_struct4.c: Mention related PR. (B_gn): Mark cif and userdata unused. * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata unused. * testsuite/libffi.call/nested_struct6.c: Mention related PR. (B_gn): Mark cif and userdata unused. * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata unused. * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise. * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise. * testsuite/libffi.call/problem1.c (stub): Likewise. * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence gcc. * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned in the last commit for this test case in the test case itself. * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as unused. * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise. * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise. * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise. * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise. * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise. * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111582 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/sh/sysv.S: Fix register numbers in the FDE forkkojima2006-02-222-5/+10
| | | | | | | | ffi_closure_SYSV. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111362 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-20 Andreas Tobler <a.tobler@schweiz.ch>andreast2006-02-202-1/+6
| | | | | | | | * testsuite/libffi.call/return_fl2.c (return_fl): Remove static declaration to avoid a false negative on ix86. See PR323. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111314 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variablekkojima2006-02-182-3/+10
| | | | | | | | | and cast integer to void * if needed. Update the pointer to the FP register saved area correctly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111225 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-17 Andreas Tobler <a.tobler@schweiz.ch>andreast2006-02-173-2/+8
| | | | | | | | | * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630 is fixed. * testsuite/libffi.call/nested_struct4.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111208 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>andreast2006-02-169-0/+381
| | | | | | | | | | | | | | * testsuite/libffi.call/return_dbl.c: New test case. * testsuite/libffi.call/return_dbl1.c: Likewise. * testsuite/libffi.call/return_dbl2.c: Likewise. * testsuite/libffi.call/return_fl.c: Likewise. * testsuite/libffi.call/return_fl1.c: Likewise. * testsuite/libffi.call/return_fl2.c: Likewise. * testsuite/libffi.call/return_fl3.c: Likewise. * testsuite/libffi.call/closure_fn6.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111156 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>andreast2006-02-1610-11/+942
| | | | | | | | | | | | | | | | | | * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong definition. * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition here to be used by other test cases too. * testsuite/libffi.call/nested_struct10.c: New test case. * testsuite/libffi.call/nested_struct9.c: Likewise. * testsuite/libffi.call/nested_struct8.c: Likewise. * testsuite/libffi.call/nested_struct7.c: Likewise. * testsuite/libffi.call/nested_struct6.c: Likewise. * testsuite/libffi.call/nested_struct5.c: Likewise. * testsuite/libffi.call/nested_struct4.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111151 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>andreast2006-01-213-2/+7
| | | | | | | | * configure.ac: Enable libffi for sparc64-*-freebsd*. * configure: Rebuilt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110073 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,jakub2006-01-183-36/+46
| | | | | | | | | | | instead do the shifting inline. * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5 shift count unconditionally. Simplify load sequences for 1, 2, 3, 4 and 8 byte structs, for the remaining struct sizes don't call __lshrdi3, instead do the shifting inline. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109879 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-12-07 Thiemo Seufer <ths@networkno.de>doko2005-12-074-156/+195
| | | | | | | | | | | | | | | | | | * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add missing parentheses. * src/mips/o32.S (ffi_call_O32): Code formatting. Define and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations. (ffi_closure_O32): Likewise, but with newly defined A3_OFF2, A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2, V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2, FA_0_0_OFF2. * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix endianness bugs. (ffi_prep_closure): Improve trampoline instruction scheduling. (ffi_closure_mips_inner_O32): Fix endianness bugs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108165 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/powerpc/ffi.c: Formatting.amodra2005-12-032-257/+345
| | | | | | | | | (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions. (ffi_prep_args64): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107963 138bc75d-0d04-0410-961f-82ee72b054a4
* .cvsignore are not needed for subversion, remove them.aj2005-10-311-1/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106279 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/lib/libffi-dg.exp (libffi_target_compile): Forgeoffk2005-10-012-2/+12
| | | | | | | darwin, use -shared-libgcc not -lgcc_s, and explain why. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104847 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/libffi.call/float1.c (value_type): New typedef.tromey2005-09-264-5/+41
| | | | | | | | | | | (CANARY): New define. (main): Check for result buffer overflow. * src/powerpc/linux64.S: Handle linux64 long double returns. * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant. (ffi_prep_cif_machdep): Handle linux64 long double returns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104660 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/23404amodra2005-08-252-2/+11
| | | | | | | | | * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack homed fp args. (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103462 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.jakub2005-08-119-116/+433
| | | | | | | | | | | | | | | | | | | (AH_BOTTOM): Add FFI_HIDDEN definition. * configure: Rebuilt. * fficonfig.h.in: Rebuilt. * src/powerpc/ffi.c (hidden): Remove. (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64, ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden. * src/powerpc/linux64_closure.S (ffi_closure_LINUX64, .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden. * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove, add FFI_HIDDEN to its prototype. (ffi_closure_SYSV_inner): New. * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New. * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103002 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-08-10 Alfred M. Szmidt <ams@gnu.org>tromey2005-08-103-0/+8
| | | | | | | | | PR libffi/21819: * configure: Rebuilt. * configure.ac: Handle i*86-*-gnu*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102953 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Usejakub2005-08-093-4/+11
| | | | | | | | | DW_CFA_offset_extended_sf rather than DW_CFA_GNU_negative_offset_extended. * src/powerpc/sysv.S (ffi_call_SYSV): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102900 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctlykkojima2005-07-223-40/+78
| | | | | | | | | | | | on sh3. (ffi_closure_SYSV): Change the stack layout for sh3 struct argument. * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is partially on register. (ffi_closure_helper_SYSV): Likewise. (ffi_prep_cif_machdep): Don't set too many cif->flags. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102298 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/sh/ffi.c (ffi_call): Handle small structures correctly.kkojima2005-07-204-54/+119
| | | | | | | | | | | | | | | Remove empty line. * src/sh64/ffi.c (simple_type): Remove. (return_type): Handle small structures correctly. (ffi_prep_args): Likewise. (ffi_call): Likewise. (ffi_closure_helper_SYSV): Likewise. * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return. Emit position independent code if PIC and remove wrong datalabel prefixes from EH data. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102210 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>andreast2005-07-191-0/+19
| | | | | | | push the missing CL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102175 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>andreast2005-07-1910-53/+229
| | | | | | | | | | | | | | | | | | | | | | * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD. * Makefile.in: Regenerate. * include/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. * configure.ac: Add POWERPC_FREEBSD rules. * configure: Regenerate. * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules. (FFI_SYSV_TYPE_SMALL_STRUCT): Define. * src/powerpc/ffi.c: Add flags to handle small structure returns in ffi_call_SYSV. (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI. Aka FFI_SYSV. (ffi_closure_helper_SYSV): Likewise. * src/powerpc/ppc_closure.S: Add return types for small structures. * src/powerpc/sysv.S: Add bits to handle small structures for final SYSV 4 ABI git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102174 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>andreast2005-07-104-0/+366
| | | | | | | | | * testsuite/libffi.call/cls_5_1_byte.c: New test file. * testsuite/libffi.call/cls_6_1_byte.c: Likewise. * testsuite/libffi.call/cls_7_1_byte.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101855 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1danglin2005-07-064-34/+101
| | | | | | | | | | | | | | | | | | | as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte structures. Kill compilation warnings. (ffi_closure_inner_LINUX): Print return values as hex in debug message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3. Properly handle 5-7 byte structure returns. * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1) (FFI_TYPE_SMALL_STRUCT2): Remove. (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5) (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define. * src/pa/linux.S: Mark source file as using PA1.1 assembly. (checksmst1, checksmst2): Remove. (checksmst3): Optimize handling of 3-byte struct returns. (checksmst567): Properly handle 5-7 byte struct returns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101650 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libgcj/21943ro2005-06-153-2/+10
| | | | | | | | * src/mips/n32.S: Enforce PIC code. * src/mips/o32.S: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100961 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.ro2005-06-143-0/+7
| | | | | | | * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100959 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGETamodra2005-06-013-2/+8
| | | | | | | | to call ffi_closure_helper_SYSV. Append @local instead. * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100416 138bc75d-0d04-0410-961f-82ee72b054a4
* Fixup the date of last entrykcook2005-05-181-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99881 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-05-03 Kelley Cook <kcook@gcc.gnu.org>kcook2005-05-189-112/+816
| | | | | | | | | | | * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS. Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF. * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config. * aclocal.m4, configure, fficonfig.h.in, Makefile.in, include/Makefile.in, testsuite/Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99879 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure: Regenerate.mrs2005-05-102-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99498 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libffi/21285rth2005-05-082-45/+54
| | | | | | | * src/alpha/osf.S: Update unwind into to match code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99415 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag inrth2005-05-053-52/+107
| | | | | | | | | | | | bit 11 of flags. (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64. (ffi_prep_closure): Set carry bit if sse-used flag set. * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument. Only load sse registers if ssecount non-zero. (ffi_closure_unix64): Only save sse registers if carry set on entry. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99257 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix typo in previous patch.corsepiu2005-04-292-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98984 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-05-29 Ralf Corsepius <ralf.corsepius@rtems.org>corsepiu2005-04-293-0/+16
| | | | | | | | | * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*, powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98983 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,hp2005-04-202-2/+7
| | | | | | | have Tcl8.3-compatible intermediate variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98453 138bc75d-0d04-0410-961f-82ee72b054a4
* Add include/Makefile.in to last entryhp2005-04-181-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98333 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.am: Add CRIS support.hp2005-04-1811-24/+737
| | | | | | | | | | | * configure.ac: Likewise. * Makefile.in, configure, testsuite/Makefile.in: Regenerate. * src/cris: New directory. * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files. * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98332 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n withhp2005-04-182-0/+21
| | | | | | | \r?\n in output tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98329 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure: Regenerate.mrs2005-04-132-1/+66
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98065 138bc75d-0d04-0410-961f-82ee72b054a4