aboutsummaryrefslogtreecommitdiff
path: root/libffi
AgeCommit message (Collapse)AuthorFilesLines
2004-10-27ffi.c (ffi_prep_cif_machdep): Handle functions that return long long values.Richard Earnshaw3-74/+175
* src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return long long values. Round stack allocation to a multiple of 8 bytes for ATPCS compatibility. * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register names. Handle returning long long types. Add Thumb and interworking support. Improve soft-float code. From-SVN: r89681
2004-10-27libffi-db.exp (load_gcc_lib): New function.Richard Earnshaw2-1/+23
* testsuite/lib/libffi-db.exp (load_gcc_lib): New function. (libffi_exit): New function. (libffi_init): Build the testglue wrapper if needed. From-SVN: r89636
2004-10-25re PR other/18138 (libgcc_s.so.1 not found by 64-bit testsuite)Eric Botcazou2-1/+6
gcc/testsuite: PR other/18138 * lib/g++.exp: Accept more than one multilib libgcc. * lib/gcc-dg.exp: Likewise. * lib/objc.exp: Likewise. * lib/treelang.exp: Likewise. * lib/gfortran.exp: Likewise. libffi: PR other/18138 * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc. libjava: PR other/18138 * testsuite/lib/libjava.exp: Accept more than one multilib libgcc. libmudflap!: PR other/18138 * testsuite/lib/libmudflap.exp: Accept more than one multilib libgcc. libstdc++-v3: PR other/18138 * testsuite/lib/libstdc++.exp: Accept more than one multilib libgcc. From-SVN: r89528
2004-10-25(FFII_CLOSURES): Set to 0.Kazuhiro Inaoka2-1/+5
From-SVN: r89527
2004-10-21sysv.S (ffi_call_SYSV): Don't align for double data.Kaz Kojima3-6/+78
* src/sh/sysv.S (ffi_call_SYSV): Don't align for double data. * testsuite/libffi.call/float3.c: New test case. From-SVN: r89366
2004-10-18ffi.c (ffi_prep_closure): Set T bit in trampoline for the function returning ↵Kaz Kojima3-6/+60
a structure pointed with R2. * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for the function returning a structure pointed with R2. * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to the structure return value if T bit set. Emit position independent code and EH data if PIC. From-SVN: r89254
2004-10-13Makefile.am: Add m32r support.Kazuhiro Inaoka11-39/+533
* Makefile.am: Add m32r support. * configure.ac: Likewise. * Makefile.in: Regenerate. * confiugre: Regenerate. * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF (uint64, sint64, double, longdouble) * src/m32r: New directory. * src/m32r/ffi.c: New file. * src/m32r/sysv.S: Likewise. * src/m32r/ffitarget.h: Likewise. From-SVN: r88993
2004-10-02* testsuite/libffi.call/negint.c: New test case.Kaz Kojima2-0/+58
From-SVN: r88421
2004-09-14re PR libffi/17465 (Testsuite in libffi overrides LD_LIBRARY_PATH)H.J. Lu2-9/+24
2004-09-14 H.J. Lu <hongjiu.lu@intel.com> PR libgcj/17465 * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path. Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH, LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and DYLD_LIBRARY_PATH. From-SVN: r87511
2004-09-05many_win32.c: Remove whitespaces.Andreas Tobler6-36/+37
2004-09-05 Andreas Tobler <a.tobler@schweiz.ch> * testsuite/libffi.call/many_win32.c: Remove whitespaces. * testsuite/libffi.call/promotion.c: Likewise. * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup whitespaces. * testsuite/libffi.call/return_sc.c: Likewise. * testsuite/libffi.call/return_uc.c: Likewise. From-SVN: r87091
2004-09-05darwin.S: Fix comments and identation.Andreas Tobler3-49/+54
2004-09-05 Andreas Tobler <a.tobler@schweiz.ch> * src/powerpc/darwin.S: Fix comments and identation. * src/powerpc/darwin_closure.S: Likewise. From-SVN: r87090
2004-09-02ffi_darwin.c: Add flag for longdouble return values.Andreas Tobler5-23/+119
2004-09-02 Andreas Tobler <a.tobler@schweiz.ch> * src/powerpc/ffi_darwin.c: Add flag for longdouble return values. (ffi_prep_args): Handle longdouble arguments. (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for longdouble. (ffi_closure_helper_DARWIN): Add closure handling for longdouble. * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble values. * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise. * src/types.c: Defined longdouble size and alignment for darwin. From-SVN: r86992
2004-09-02004-09-02 Andreas Tobler <a.tobler@schweiz.ch>Andreas Tobler10-268/+272
* src/powerpc/aix.S: Remove whitespaces. * src/powerpc/aix_closure.S: Likewise. * src/powerpc/asm.h: Likewise. * src/powerpc/ffi.c: Likewise. * src/powerpc/ffitarget.h: Likewise. * src/powerpc/linux64.S: Likewise. * src/powerpc/linux64_closure.S: Likewise. * src/powerpc/ppc_closure.S: Likewise. * src/powerpc/sysv.S: Likewise. From-SVN: r86991
2004-08-30Fix brown-bag typo in ChangeLog entry.Anthony Green1-1/+1
From-SVN: r86786
2004-08-30Makefile.am: Add frv support.Anthony Green13-89/+693
2004-08-30 Anthony Green <green@redhat.com> * Makefile.am: Add frv support. * Makefile.in, testsuite/Makefile.in: Rebuilt. * configure.ac: Read configure.host. * configure, aclocal.m4: Rebuilt. * configure.host: New file. frv-elf needs libgloss. * include/ffi.h.in: Force ffi_closure to have a nice big (8) alignment. This is needed to frv and should harm the others. * include/ffi_common.h (ALIGN_DOWN): New macro. * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files. From-SVN: r86779
2004-08-25closure_fn0.c: Xfail mips64* instead of mips*.David Daney59-59/+133
2004-08-24 David Daney <daney@avtrex.com> * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*. * 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_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_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_align_double.c: Likewise. * testsuite/libffi.call/cls_align_float.c: Likewise. * testsuite/libffi.call/cls_align_longdouble.c: Likewise. * testsuite/libffi.call/cls_align_pointer.c: Likewise. * testsuite/libffi.call/cls_align_sint16.c: Likewise. * testsuite/libffi.call/cls_align_sint32.c: Likewise. * testsuite/libffi.call/cls_align_sint64.c: Likewise. * testsuite/libffi.call/cls_align_uint16.c: Likewise. * testsuite/libffi.call/cls_align_uint32.c: Likewise. * testsuite/libffi.call/cls_align_uint64.c: Likewise. * testsuite/libffi.call/cls_double.c: Likewise. * testsuite/libffi.call/cls_float.c: Likewise. * testsuite/libffi.call/cls_multi_schar.c: Likewise. * testsuite/libffi.call/cls_multi_sshort.c: Likewise. * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise. * testsuite/libffi.call/cls_multi_uchar.c: Likewise. * testsuite/libffi.call/cls_multi_ushort.c: Likewise. * testsuite/libffi.call/cls_multi_ushortchar.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. * testsuite/libffi.call/cls_12byte.c: Likewise and set return value to zero. * testsuite/libffi.call/cls_16byte.c: Likewise. * testsuite/libffi.call/cls_5byte.c: Likewise. From-SVN: r86534
2004-08-23re PR libffi/13141 (FAIL: InvokeReturn output - source compiled test <libffi ↵David Daney4-44/+139
problem>) 2004-08-23 David Daney <daney@avtrex.com> PR libgcj/13141 * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI. * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation. (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point parameters and return types. (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI. (ffi_prep_closure): Ditto. (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix alignment calculations. * src/mips/o32.S (ffi_closure_O32): Don't use floating point instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant. From-SVN: r86429
2004-08-15ffi.c (ffi_pref_cif_machdep): set `cif->flags' to contain `FFI_TYPE_UINT64' ↵Casey Marshall4-3/+310
as return type for any 64-bit... 2004-08-14 Casey Marshall <csm@gnu.org> * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to contain `FFI_TYPE_UINT64' as return type for any 64-bit integer (O32 ABI only). (ffi_prep_closure): new function. (ffi_closure_mips_inner_O32): new function. * src/mips/ffitarget.h: Define `FFI_CLOSURES' and `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32. * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return 64 bit integers correctly. (ffi_closure_O32): new function. Added DWARF-2 unwind info for both functions. From-SVN: r86019
2004-08-10ffi64.c (ffi_prep_args ): 8-align all stack arguments.Andrew Haley2-0/+6
2004-08-10 Andrew Haley <aph@redhat.com> * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments. From-SVN: r85753
2004-08-03configure.in: Turn mt-linux into mt-gnu.Robert Millan3-14/+19
ChangeLog: 2004-08-01 Robert Millan <robertmh@gnu.org> * configure.in: Turn mt-linux into mt-gnu. Use mt-gnu and enable libmudflap for all GNU-based systems (with Glibc). * configure: Regenerate. config/ChangeLog: 2004-08-01 Robert Millan <robertmh@gnu.org> * mt-linux: Rename to ... * mt-gnu: ... this. libffi/ChangeLog: 2004-08-01 Robert Millan <robertmh@gnu.org> * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu. * configure: Regenerate. From-SVN: r85501
2004-08-03acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h> and mmap() ↵Maciej W. Rozycki3-4/+255
explicitly instead of relying on preset... 2004-07-30 Maciej W. Rozycki <macro@linux-mips.org> * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h> and mmap() explicitly instead of relying on preset autoconf cache variables. * aclocal.m4: Regenerate. * configure: Regenerate. From-SVN: r85500
2004-07-11ffi.c (ffi_prep_args): Fix C aliasing violation.Ulrich Weigand2-10/+13
* src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation. (ffi_check_float_struct): Remove unused prototype. From-SVN: r84505
2004-06-30ffi_darwin.c (flush_icache): ';' is a comment character on Darwin, use ↵Geoffrey Keating2-5/+10
'\n\t' instead. * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment character on Darwin, use '\n\t' instead. From-SVN: r83899
2004-06-26libtool-version: Fix typo in revision/age.Matthias Klose2-1/+5
2004-06-26 Matthias Klose <doko@debian.org> * libtool-version: Fix typo in revision/age. From-SVN: r83717
2004-06-18Fix incorrect year for some ChangeLog entries.R. Kelley Cook1-2/+2
From-SVN: r83335
2004-06-17libtool-version: New.Matthias Klose4-2/+14
2004-06-17 Matthias Klose <doko@debian.org> * libtool-version: New. * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname. * Makefile.in: Regenerate. From-SVN: r83315
2004-06-15configure.ac: New name of configure.in.Paolo Bonzini9-1031/+1103
libmudflap/ChangeLog: 2005-06-15 Paolo Bonzini <bonzini@gnu.org> * configure.ac: New name of configure.in. Update AC_INIT, AC_CONFIG_SRCDIR, AC_CONFIG_HEADERS, AC_CONFIG_FILES, AC_OUTPUT, AM_INIT_AUTOMAKE to the preferred style for Autoconf 2.5x and Automake 1.7 or later. * configure.in: Remove. * configure: Regenerate. * Makefile.am: Remove useless multilib rules. * Makefile.in: Regenerate. libstdc++-v3/ChangeLog: 2005-06-15 Paolo Bonzini <bonzini@gnu.org> * acinclude.m4: Remove useless multilib configury. * Makefile.am: Remove useless multilib rules. * aclocal.m4: Regenerate. * Makefile.in: Regenerate. * configure.ac: Use AM_ENABLE_MULTILIB. * configure: Regenerate. zlib/ChangeLog.gcj: 2005-06-15 Paolo Bonzini <bonzini@gnu.org> * Makefile.am: Remove useless multilib rules. * configure.ac: Rewrite multilib support to use features of recent automakes. * aclocal.m4: Regenerate with Automake 1.8.5. * Makefile.in: Regenerate with Automake 1.8.5. * configure: Regenerate. libffi/ChangeLog: 2005-06-15 Paolo Bonzini <bonzini@gnu.org> * Makefile.am: Remove useless multilib rules. * Makefile.in: Regenerate. * aclocal.m4: Regenerate with automake 1.8.5. * configure.ac: Remove useless multilib configury. * configure: Regenerate. From-SVN: r83184
2004-06-15Added .cvsignore entry for autom4te.cache to boehm-gc, libffi andPaolo Bonzini2-0/+5
libmudflap. From-SVN: r83169
2004-06-10unix.S (ffi_call_unix): Insert group barrier break fp_done.Jakub Jelinek2-2/+10
* src/ia64/unix.S (ffi_call_unix): Insert group barrier break fp_done. (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever changed from 8. From-SVN: r82904
2004-06-07configure.ac: Add x86_64-*-freebsd* support.Sean McNeil3-4/+9
2004-06-06 Sean McNeil <sean@mcneil.com> * configure.ac: Add x86_64-*-freebsd* support. * configure: Regenerate. From-SVN: r82703
2004-05-18re PR bootstrap/15120 ([3.3 only] [libtool bug] hidden symbol `__sdivsi3_i4' ↵Kaz Kojima1-1/+1
is referenced by DSO) PR bootstrap/15120 * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on sh*. * */configure: Rebuilt. From-SVN: r81980
2004-04-26Bug 15093Joe Buck3-281/+835
Bug 15093 * configure.ac: Test for existence of mmap and sys/mman.h before checking blacklist. Fix suggested by Jim Wilson. * configure: Regenerate. From-SVN: r81212
2004-04-27Patch 14922Matt Austern3-2/+16
Patch 14922 * src/powerpc/darwin.S: Go through a non-lazy pointer for initial FDE location. * src/powerpc/darwin_closure.S: Likewise. From-SVN: r81209
2004-04-24cls_multi_schar.c (main): Fix initialization error.Andreas Tobler4-4/+11
2004-04-24 Andreas Tobler <a.tobler@schweiz.ch> * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization error. Reported by Thomas Heller <theller@python.net>. * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise. * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise. From-SVN: r81131
2004-03-20linux.S: Fix typo.Matthias Klose2-1/+5
2004-03-20 Matthias Klose <doko@debian.org> * src/pa/linux.S: Fix typo. From-SVN: r79739
2004-03-19[multiple changes]Matthias Klose10-63/+1067
2004-03-19 Matthias Klose <doko@debian.org> * Makefile.am: Update * Makefile.in: Regenerate. * src/pa/ffi.h.in: Remove. * src/pa/ffitarget.h: New file. 2004-02-10 Randolph Chung <tausq@debian.org> * Makefile.am: Add PA support. * Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * configure.ac: Add PA target. * configure: Regenerate. * src/pa/ffi.c: New file. * src/pa/ffi.h.in: Add PA support. * src/pa/linux.S: New file. * prep_cif.c: Add PA support. From-SVN: r79702
2004-03-16types.c: Fix alignment size of X86_WIN32 case int64 and double.Hosaka Yuji4-7/+93
2004-03-16 Hosaka Yuji <hos@tamanegi.org> * src/types.c: Fix alignment size of X86_WIN32 case int64 and double. * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type with ecif->cif->flags. (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type with cif->flags. (ffi_prep_cif_machdep): Add X86_WIN32 struct case. (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32. * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b, sc_retstruct2b): Add for 1 or 2-bytes struct case. From-SVN: r79542
2004-03-15configure.in: Rename file to ...Kelley Cook6-18/+27
2004-03-15 Kelley Cook <kcook@gcc.gnu.org> * configure.in: Rename file to ... * configure.ac: ... this. * fficonfig.h.in: Regenerate. * Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. From-SVN: r79513
2004-03-12Enabled linkonce support for Darwin.Matt Austern1-0/+6
* src/powerpc/darwin.S: Fix EH information so it corresponds to changes in EH format resulting from addition of linkonce support. * src/powerpc/darwin_closure.S: Likewise. From-SVN: r79396
2004-03-12Enabled linkonce support for Darwin.Matt Austern2-11/+13
* target.h (struct gcc_target): New target hook, unwind_label. * target-def.h (TARGET_ASM_EMIT_UNWIND_LABEL): New hook. * output.h (default_emit_unwind_label): New function. * default.h (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): New macro. (TARGET_USES_WEAK_UNWIND_INFO): New target macro. (TARGET_SUPPORTS_HIDDEN): New target macro. * dwarf2out.c (struct dw_fde_struct): Add field for function decl that corresponds to this FDE. (FRAME_BEGIN_LABEL): Allow target to override default label. (output_call_frame_info): If FDEs are linknonce, then use extra indirection for FDE encoding, output a label for each FDE, and output an empty label for each function without an FDE. (dwarf2out_begin_prologue): Set up decl field when creating an FDE. * varasm.c (globalize_decl): Call ASM_MAKE_LABEL_LINKONCE for decls with DECL_ONE_ONLY set, if that macro is defined. (make_decl_one_only): Don't use DECL_COMMON if we're compiling for a SUPPORTS_ONE_ONLY target. * config/darwin-protos.h (darwin_unique_section): Declare. (darwin_asm_named_section): Likewise. (darwin_section_type_flags): Likewise. (darwin_non_lazy_pcrel): Likewise. (darwin_emit_unwind_label): Likewise. (darwin_make_decl_one_only): Likewise. * config/darwin.c (machopic_finish): Get rid of tweak that eliminate stubs for symbols that are defined. (darwin_encode_section_info): Don't treat weak functions as defined. (darwin_make_decl_one_only): Define. (darwin_asm_named_section): Likewise. (darwin_section_type_flags): Likewise. (darwin_unique_section): Likewise. (darwin_emit_unwind_label): Likewise. (darwin_non_lazy_pcrel): Likewise. (darwin_asm_output_dwarf_delta): Difference between two labels is local only if both labels are local. * config/darwin.h (MAKE_DECL_ONE_ONLY): Define. (ASM_MAKE_LABEL_LINKONCE): Likewise. (TARGET_SUPPORTS_HIDDEN): Likewise. (TARGET_USES_WEAK_UNWIND_INFO): Likewise. (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): Likewise. (FRAME_BEGIN_LABEL): Likewise. (ASM_DECLARE_OBJECT_NAME): Make references to weak symbols indirect. (ASM_DECLARE_FUNCTION_NAME): Likewise. (darwin_eh_frame_section): Give __eh_frame section the coalesced flag. (TARGET_ASM_UNIQUE_SECTION): Define. (EH_FRAME_SECTION_NAME): Define. (EH_FRAME_SECTION_ATTR): Likewise. (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise. (TARGET_ASM_NAMED_SECTION): Likewise. (TARGET_SECTION_TYPE_FLAGS): Likewise. * doc/tm.texi: Document TARGET_USES_WEAK_UNWIND_INFO, TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, TARGET_SUPPORTS_HIDDEN, TARGET_ASM_EMIT_UNWIND_LABEL. * cp/decl2.c (maybe_make_one_only): Look at TARGET_EXPLICIT_INSTANTIATION_ONE_ONLY when deciding whether to make an explicit instantiation weak. * cp/method.c (use_thunk): Make sure we call comdat_linkage when appropriate. * cp/pt.c (do_type_instantiation): On systems where weak symbols don't go in a static archive's TOC, explicit instantiation of a class must imply *explicit* instantiation of its memeber. From-SVN: r79394
2004-03-11Makefile.am (AUTOMAKE_OPTIONS): Set them.Andreas Tobler9-3412/+8601
2004-03-11 Andreas Tobler <a.tobler@schweiz.ch> Paolo Bonzini <bonzini@gnu.org> * Makefile.am (AUTOMAKE_OPTIONS): Set them. Remove VPATH. Remove rules for object files. Remove multilib support. (AM_CCASFLAGS): Add. * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER. (AC_PREREQ): Bump version to 2.59. (AC_INIT): Fill with version info and bug address. (ORIGINAL_LD_FOR_MULTILIBS): Remove. (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE. De-precious CC so that the right flags are passed down to multilibs. (AC_MSG_ERROR): Replace obsolete macro AC_ERROR. (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES. (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS. * configure: Rebuilt. * aclocal.m4: Likewise. * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise. * fficonfig.h.in: Likewise. Co-Authored-By: Paolo Bonzini <bonzini@gnu.org> From-SVN: r79341
2004-03-11ffi.c (ffi_prep_incoming_args_UNIX): Get floating point arguments from fp ↵Andreas Schwab2-8/+13
registers only for the first 8 parameter slots. * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point arguments from fp registers only for the first 8 parameter slots. Don't convert a float parameter when passed in memory. From-SVN: r79323
2004-03-09* configure: Regenerate for config/accross.m4 correction.Hans-Peter Nilsson2-2/+6
From-SVN: r79147
2004-02-26ffi.c (ffi_prep_args_SYSV): Change ecif->cif->bytes to bytes.Matt Kraai2-7/+15
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Change ecif->cif->bytes to bytes. (ffi_prep_cif_machdep): Add braces around nested if statement. From-SVN: r78477
2004-02-09* src/types.c (pointer): POWERPC64 has 8 byte pointers.Alan Modra2-1/+3
From-SVN: r77533
2004-02-09ffi.c (ffi_prep_args64): Correct long double handling.Alan Modra5-19/+48
* src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling. (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. From-SVN: r77522
2004-02-08ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct long double function ↵Alan Modra4-82/+110
return and long double arg handling. * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct 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. From-SVN: r77481
2004-02-07* src/types.c: Use 16 byte long double for POWERPC64.Alan Modra2-1/+5
From-SVN: r77441
2004-01-25ffi.c (ffi_prep_args_v9): Shift the parameter array when the structure ↵Eric Botcazou5-95/+219
return address is passed in %o0. * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array 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. From-SVN: r76543
2004-01-24pyobjc-tc.c (main): Treat result value as of type ffi_arg.Andreas Tobler3-2/+8
2004-01-24 Andreas Tobler <a.tobler@schweiz.ch> * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value as of type ffi_arg. * testsuite/libffi.call/struct3.c (main): Fix CHECK. From-SVN: r76513