summaryrefslogtreecommitdiff
path: root/libffi
Commit message (Collapse)AuthorAgeFilesLines
* ffi.c (ffi_prep_cif_machdep): Handle functions that return long long values.Richard Earnshaw2004-10-273-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
* libffi-db.exp (load_gcc_lib): New function.Richard Earnshaw2004-10-272-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
* re PR other/18138 (libgcc_s.so.1 not found by 64-bit testsuite)Eric Botcazou2004-10-252-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
* (FFII_CLOSURES): Set to 0.Kazuhiro Inaoka2004-10-252-1/+5
| | | | From-SVN: r89527
* sysv.S (ffi_call_SYSV): Don't align for double data.Kaz Kojima2004-10-213-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
* ffi.c (ffi_prep_closure): Set T bit in trampoline for the function returning ↵Kaz Kojima2004-10-183-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
* Makefile.am: Add m32r support.Kazuhiro Inaoka2004-10-1311-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
* * testsuite/libffi.call/negint.c: New test case.Kaz Kojima2004-10-022-0/+58
| | | | From-SVN: r88421
* re PR libffi/17465 (Testsuite in libffi overrides LD_LIBRARY_PATH)H.J. Lu2004-09-142-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
* many_win32.c: Remove whitespaces.Andreas Tobler2004-09-056-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
* darwin.S: Fix comments and identation.Andreas Tobler2004-09-053-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
* ffi_darwin.c: Add flag for longdouble return values.Andreas Tobler2004-09-025-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
* 004-09-02 Andreas Tobler <a.tobler@schweiz.ch>Andreas Tobler2004-09-0210-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
* Fix brown-bag typo in ChangeLog entry.Anthony Green2004-08-301-1/+1
| | | | From-SVN: r86786
* Makefile.am: Add frv support.Anthony Green2004-08-3013-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
* closure_fn0.c: Xfail mips64* instead of mips*.David Daney2004-08-2559-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
* re PR libffi/13141 (FAIL: InvokeReturn output - source compiled test <libffi ↵David Daney2004-08-234-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
* ffi.c (ffi_pref_cif_machdep): set `cif->flags' to contain `FFI_TYPE_UINT64' ↵Casey Marshall2004-08-154-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
* ffi64.c (ffi_prep_args ): 8-align all stack arguments.Andrew Haley2004-08-102-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
* configure.in: Turn mt-linux into mt-gnu.Robert Millan2004-08-033-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
* acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h> and mmap() ↵Maciej W. Rozycki2004-08-033-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
* ffi.c (ffi_prep_args): Fix C aliasing violation.Ulrich Weigand2004-07-112-10/+13
| | | | | | | * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation. (ffi_check_float_struct): Remove unused prototype. From-SVN: r84505
* ffi_darwin.c (flush_icache): ';' is a comment character on Darwin, use ↵Geoffrey Keating2004-06-302-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
* libtool-version: Fix typo in revision/age.Matthias Klose2004-06-262-1/+5
| | | | | | | | 2004-06-26 Matthias Klose <doko@debian.org> * libtool-version: Fix typo in revision/age. From-SVN: r83717
* Fix incorrect year for some ChangeLog entries.R. Kelley Cook2004-06-181-2/+2
| | | | From-SVN: r83335
* libtool-version: New.Matthias Klose2004-06-174-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
* configure.ac: New name of configure.in.Paolo Bonzini2004-06-159-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
* Added .cvsignore entry for autom4te.cache to boehm-gc, libffi andPaolo Bonzini2004-06-152-0/+5
| | | | | | libmudflap. From-SVN: r83169
* unix.S (ffi_call_unix): Insert group barrier break fp_done.Jakub Jelinek2004-06-102-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
* configure.ac: Add x86_64-*-freebsd* support.Sean McNeil2004-06-073-4/+9
| | | | | | | | | 2004-06-06 Sean McNeil <sean@mcneil.com> * configure.ac: Add x86_64-*-freebsd* support. * configure: Regenerate. From-SVN: r82703
* re PR bootstrap/15120 ([3.3 only] [libtool bug] hidden symbol `__sdivsi3_i4' ↵Kaz Kojima2004-05-181-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
* Bug 15093Joe Buck2004-04-263-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
* Patch 14922Matt Austern2004-04-273-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
* cls_multi_schar.c (main): Fix initialization error.Andreas Tobler2004-04-244-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
* linux.S: Fix typo.Matthias Klose2004-03-202-1/+5
| | | | | | | | 2004-03-20 Matthias Klose <doko@debian.org> * src/pa/linux.S: Fix typo. From-SVN: r79739
* [multiple changes]Matthias Klose2004-03-1910-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
* types.c: Fix alignment size of X86_WIN32 case int64 and double.Hosaka Yuji2004-03-164-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
* configure.in: Rename file to ...Kelley Cook2004-03-156-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
* Enabled linkonce support for Darwin.Matt Austern2004-03-121-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
* Enabled linkonce support for Darwin.Matt Austern2004-03-122-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
* Makefile.am (AUTOMAKE_OPTIONS): Set them.Andreas Tobler2004-03-119-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
* ffi.c (ffi_prep_incoming_args_UNIX): Get floating point arguments from fp ↵Andreas Schwab2004-03-112-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
* * configure: Regenerate for config/accross.m4 correction.Hans-Peter Nilsson2004-03-092-2/+6
| | | | From-SVN: r79147
* ffi.c (ffi_prep_args_SYSV): Change ecif->cif->bytes to bytes.Matt Kraai2004-02-262-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
* * src/types.c (pointer): POWERPC64 has 8 byte pointers.Alan Modra2004-02-092-1/+3
| | | | From-SVN: r77533
* ffi.c (ffi_prep_args64): Correct long double handling.Alan Modra2004-02-095-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
* ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct long double function ↵Alan Modra2004-02-084-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
* * src/types.c: Use 16 byte long double for POWERPC64.Alan Modra2004-02-072-1/+5
| | | | From-SVN: r77441
* ffi.c (ffi_prep_args_v9): Shift the parameter array when the structure ↵Eric Botcazou2004-01-255-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
* pyobjc-tc.c (main): Treat result value as of type ffi_arg.Andreas Tobler2004-01-243-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