aboutsummaryrefslogtreecommitdiff
path: root/libffi/configure
AgeCommit message (Collapse)AuthorFilesLines
2006-04-05Makefile.am: Add PA_HPUX port.John David Anglin1-12/+52
2006-04-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 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. Co-Authored-By: Andreas Tobler <a.tobler@schweiz.ch> From-SVN: r112719
2006-01-21configure.ac: Enable libffi for sparc64-*-freebsd*.Andreas Tobler1-1/+1
2006-01-21 Andreas Tobler <a.tobler@schweiz.ch> * configure.ac: Enable libffi for sparc64-*-freebsd*. * configure: Rebuilt. From-SVN: r110073
2005-08-11configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.Jakub Jelinek1-0/+34
* configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test. (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. From-SVN: r103002
2005-08-10re PR libffi/21819 (i*86-*-gnu* not enabled in configure.ac)Alfred M. Szmidt1-0/+1
2005-08-10 Alfred M. Szmidt <ams@gnu.org> PR libffi/21819: * configure: Rebuilt. * configure.ac: Handle i*86-*-gnu*. From-SVN: r102953
2005-07-19Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.Andreas Tobler1-1/+21
2005-07-19 Andreas Tobler <a.tobler@schweiz.ch> * 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 From-SVN: r102174
2005-06-14configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.Rainer Orth1-0/+1
* configure.ac: Treat i*86-*-solaris2.10 and up as X86_64. * configure: Regenerate. From-SVN: r100959
2005-05-18configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.Kelley Cook1-86/+792
2005-05-03 Kelley Cook <kcook@gcc.gnu.org> * 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. From-SVN: r99879
2005-05-10* configure: Regenerate.Mike Stump1-1/+1
From-SVN: r99498
2005-04-29Fix typo in previous patch.Ralf Corsepius1-1/+1
From-SVN: r98984
2005-04-29configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*, powerpc-*rtems*, ↵Ralf Corsepius1-0/+5
arm*-*-rtems*, sh-*-rtems*. 2005-05-29 Ralf Corsepius <ralf.corsepius@rtems.org> * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*, powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*. * configure: Regenerate. From-SVN: r98983
2005-04-18Makefile.am: Add CRIS support.Simon Posnjak1-1/+21
* Makefile.am: Add CRIS support. * 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__. Co-Authored-By: Hans-Peter Nilsson <hp@axis.com> From-SVN: r98332
2005-04-13* configure: Regenerate.Mike Stump1-1/+62
From-SVN: r98065
2005-03-21configure.ac: Do not invoke TL_AC_GCC_VERSION.Zack Weinberg1-26/+1
* configure.ac: Do not invoke TL_AC_GCC_VERSION. Do not set tool_include_dir. * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in: Regenerate. * include/Makefile.am: Set gcc_version and toollibffidir. * include/Makefile.in: Regenerate. From-SVN: r96823
2004-12-02Introduce and use config/gcc-version.m4.Richard Sandiford1-6/+20
From-SVN: r91625
2004-11-29libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Re-import linux-gnu case from CVS ↵Kelley Cook1-9/+2
libtool to always pass_all. 2004-11-29 Kelley Cook <kcook@gcc.gnu.org> * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Re-import linux-gnu case from CVS libtool to always pass_all. * libjava/configure, libffi/configure, libjava/configure, libobjc/configure, boehm-gc/configure: Regenerated. From-SVN: r91495
2004-11-25libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Revert previous change.Kelley Cook1-2/+9
2004-11-24 Kelley Cook <kcook@gcc.gnu.org> * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Revert previous change. * boehm-gc/configure: Regenerate. * libffi/configure: Regenerate. * libgfortran/configure: Regenerate. * libjava/configure: Regenerate. * libobjc/configure: Regenerate. * libstdc++-v3/configure: Regenerate. * zlib/configure: Regenerate. From-SVN: r91293
2004-11-24libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Import linux-gnu case from CVS libtool ↵Kelley Cook1-9/+2
to always pass_all. 2004-11-24 Kelley Cook <kcook@gcc.gnu.org> * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Import linux-gnu case from CVS libtool to always pass_all. * boehm-gc/configure: Regenerate. * libffi/configure: Regenerate. * libgfortran/configure: Regenerate. * libjava/configure: Regenerate. * libobjc/configure: Regenerate. * libstdc++-v3/configure: Regenerate. * zlib/configure: Regenerate. From-SVN: r91200
2004-11-23Makefile.am: Remove no-dependencies.Kelley Cook1-33/+46
2004-11-23 Kelley Cook <kcook@gcc.gnu.org> * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS. * acinclude.m4: Delete logic for sincludes. * aclocal.m4, Makefile.in, configure: Regenerate. * include/Makefile: Likewise. * testsuite/Makefile: Likewise. From-SVN: r91073
2004-10-13Makefile.am: Add m32r support.Kazuhiro Inaoka1-1/+21
* 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-08-30Makefile.am: Add frv support.Anthony Green1-42/+83
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-03configure.in: Turn mt-linux into mt-gnu.Robert Millan1-7/+7
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. Rozycki1-2/+241
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-06-15configure.ac: New name of configure.in.Paolo Bonzini1-106/+96
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-07configure.ac: Add x86_64-*-freebsd* support.Sean McNeil1-3/+3
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 Buck1-281/+826
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-03-19[multiple changes]Matthias Klose1-46/+48
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-11Makefile.am (AUTOMAKE_OPTIONS): Set them.Andreas Tobler1-2287/+5817
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-09* configure: Regenerate for config/accross.m4 correction.Hans-Peter Nilsson1-2/+2
From-SVN: r79147
2003-11-22Makefile.in: Rebuilt.Andreas Tobler1-53/+181
2003-11-22 Andreas Tobler <a.tobler@schweiz.ch> * Makefile.in: Rebuilt. * configure: Likewise. * testsuite/libffi.special/unwindtest.cc: Convert the mmap to the right type. From-SVN: r73837
2003-11-21acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.Andreas Jaeger1-91/+94
2003-11-21 Andreas Jaeger <aj@suse.de> Andreas Tobler <a.tobler@schweiz.ch> * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST. * configure.in: Call AC_FUNC_MMAP_BLACKLIST. * Makefile.in: Rebuilt. * aclocal.m4: Likewise. * configure: Likewise. * fficonfig.h.in: Likewise. * testsuite/lib/libffi-dg.exp: Add include dir. * testsuite/libffi.call/ffitest.h: Add MMAP definitions. * testsuite/libffi.special/ffitestcxx.h: Likewise. * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality for ffi_closure if available. * testsuite/libffi.call/closure_fn1.c: Likewise. * testsuite/libffi.call/closure_fn2.c: Likewise. * testsuite/libffi.call/closure_fn3.c: Likewise. * testsuite/libffi.call/closure_fn4.c: Likewise. * testsuite/libffi.call/closure_fn5.c: Likewise. * testsuite/libffi.call/cls_12byte.c: Likewise. * testsuite/libffi.call/cls_16byte.c: Likewise. * testsuite/libffi.call/cls_18byte.c: Likewise. * testsuite/libffi.call/cls_19byte.c: Likewise. * testsuite/libffi.call/cls_1_1byte.c: Likewise. * testsuite/libffi.call/cls_20byte.c: Likewise. * testsuite/libffi.call/cls_20byte1.c: Likewise. * testsuite/libffi.call/cls_24byte.c: Likewise. * testsuite/libffi.call/cls_2byte.c: Likewise. * testsuite/libffi.call/cls_3_1byte.c: Likewise. * testsuite/libffi.call/cls_3byte1.c: Likewise. * testsuite/libffi.call/cls_3byte2.c: Likewise. * testsuite/libffi.call/cls_4_1byte.c: Likewise. * testsuite/libffi.call/cls_4byte.c: Likewise. * testsuite/libffi.call/cls_5byte.c: Likewise. * testsuite/libffi.call/cls_64byte.c: Likewise. * testsuite/libffi.call/cls_6byte.c: Likewise. * testsuite/libffi.call/cls_7byte.c: Likewise. * testsuite/libffi.call/cls_8byte.c: Likewise. * testsuite/libffi.call/cls_9byte1.c: Likewise. * testsuite/libffi.call/cls_9byte2.c: Likewise. * testsuite/libffi.call/cls_double.c: Likewise. * testsuite/libffi.call/cls_float.c: Likewise. * testsuite/libffi.call/cls_schar.c: Likewise. * testsuite/libffi.call/cls_sint.c: Likewise. * testsuite/libffi.call/cls_sshort.c: Likewise. * testsuite/libffi.call/cls_uchar.c: Likewise. * testsuite/libffi.call/cls_uint.c: Likewise. * testsuite/libffi.call/cls_ulonglong.c: Likewise. * testsuite/libffi.call/cls_ushort.c: Likewise. * testsuite/libffi.call/nested_struct.c: Likewise. * testsuite/libffi.call/nested_struct1.c: Likewise. * testsuite/libffi.call/nested_struct2.c: Likewise. * testsuite/libffi.call/nested_struct3.c: Likewise. * testsuite/libffi.call/problem1.c: Likewise. * testsuite/libffi.special/unwindtest.cc: Likewise. Co-Authored-By: Andreas Tobler <a.tobler@schweiz.ch> From-SVN: r73800
2003-11-12re PR libffi/11147 (fficonfig.h is abi-specific)Andreas Tobler1-0/+12
2003-11-12 Andreas Tobler <a.tobler@schweiz.ch> * configure.in, include/Makefile.am: PR libgcj/11147, install the ffitarget.h header file in a gcc versioned and target dependent place. * configure: Regenerated. * Makefile.in, include/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. From-SVN: r73504
2003-10-21[multiple changes]Andreas Tobler1-315/+134
2003-10-21 Andreas Tobler <a.tobler@schweiz.ch> * configure.in: AC_LINK_FILES(ffitarget.h). * configure: Regenerate. * Makefile.in: Likewise. * include/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. * fficonfig.h.in: Likewise. 2003-10-21 Paolo Bonzini <bonzini@gnu.org> Richard Henderson <rth@redhat.com> Avoid that ffi.h includes fficonfig.h. * Makefile.am (EXTRA_DIST): Include ffitarget.h files (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX. (TARGET_SRC_MIPS_SGI): Removed. (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX. (MIPS_SGI): Removed. (CLEANFILES): Removed. (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New targets. * acconfig.h: Removed. * configure.in: Compute sizeofs only for double and long double. Use them to define and subst HAVE_LONG_DOUBLE. Include comments into AC_DEFINE instead of using acconfig.h. Create include/ffitarget.h instead of include/fficonfig.h. Rename MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree. AC_DEFINE EH_FRAME_FLAGS. * include/Makefile.am (DISTCLEANFILES): New automake macro. (hack_DATA): Add ffitarget.h. * include/ffi.h.in: Remove all system specific definitions. Declare raw API even if it is not installed, why bother? Use limits.h instead of SIZEOF_* to define ffi_type_*. Do not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include ffitarget.h instead of fficonfig.h. Remove ALIGN macro. (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead. * include/ffi_common.h (bool): Do not define. (ffi_assert): Accept failed assertion. (ffi_type_test): Return void and accept file/line. (FFI_ASSERT): Pass stringized failed assertion. (FFI_ASSERT_AT): New macro. (FFI_ASSERT_VALID_TYPE): New macro. (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32, UINT64, SINT64): Define here with gcc's __attribute__ macro instead of in ffi.h (FLOAT32, ALIGN): Define here instead of in ffi.h * include/ffi-mips.h: Removed. Its content moved to src/mips/ffitarget.h after separating assembly and C sections. * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c, src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S, src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c: SIZEOF_ARG -> FFI_SIZEOF_ARG. * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+). * src/debug.c (ffi_assert): Accept stringized failed assertion. (ffi_type_test): Rewritten. * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call FFI_ASSERT_VALID_TYPE. * src/alpha/ffitarget.h, src/arm/ffitarget.h, src/ia64/ffitarget.h, src/m68k/ffitarget.h, src/mips/ffitarget.h, src/powerpc/ffitarget.h, src/s390/ffitarget.h, src/sh/ffitarget.h, src/sh64/ffitarget.h, src/sparc/ffitarget.h, src/x86/ffitarget.h: New files. * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S, src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S, src/powerpc/aix.S, src/powerpc/darwin.S, src/powerpc/ffi_darwin.c, src/powerpc/linux64.S, src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S, src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S, src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S, src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S: include fficonfig.h From-SVN: r72766
2003-09-09* libtool.m4 (LD): Correct powerpc64 host match.Alan Modra1-1/+1
From-SVN: r71229
2003-09-04003-09-04 Andreas Tobler <a.tobler@schweiz.ch>Andreas Tobler1-147/+215
* Makefile.am: Add dejagnu test framework. Fixes PR other/11411. * Makefile.in: Rebuilt. * configure.in: Add dejagnu test framework. * configure: Rebuilt. * testsuite/Makefile.am: New file. * testsuite/Makefile.in: Built * testsuite/lib/libffi-dg.exp: New file. * testsuite/config/default.exp: Likewise. * testsuite/libffi.call/call.exp: Likewise. * testsuite/libffi.call/ffitest.h: Likewise. * testsuite/libffi.call/closure_fn0.c: Likewise. * testsuite/libffi.call/closure_fn1.c: Likewise. * testsuite/libffi.call/closure_fn2.c: Likewise. * testsuite/libffi.call/closure_fn3.c: Likewise. * testsuite/libffi.call/cls_1_1byte.c: Likewise. * testsuite/libffi.call/cls_3_1byte.c: Likewise. * testsuite/libffi.call/cls_4_1byte.c: Likewise. * testsuite/libffi.call/cls_2byte.c: Likewise. * testsuite/libffi.call/cls_3byte1.c: Likewise. * testsuite/libffi.call/cls_3byte2.c: Likewise. * testsuite/libffi.call/cls_4byte.c: Likewise. * testsuite/libffi.call/cls_5byte.c: Likewise. * testsuite/libffi.call/cls_6byte.c: Likewise. * testsuite/libffi.call/cls_7byte.c: Likewise. * testsuite/libffi.call/cls_8byte.c: Likewise. * testsuite/libffi.call/cls_12byte.c: Likewise. * testsuite/libffi.call/cls_16byte.c: Likewise. * testsuite/libffi.call/cls_20byte.c: Likewise. * testsuite/libffi.call/cls_24byte.c: Likewise. * testsuite/libffi.call/cls_double.c: Likewise. * testsuite/libffi.call/cls_float.c: Likewise. * testsuite/libffi.call/cls_uchar.c: Likewise. * testsuite/libffi.call/cls_uint.c: Likewise. * testsuite/libffi.call/cls_ulonglong.c: Likewise. * testsuite/libffi.call/cls_ushort.c: Likewise. * testsuite/libffi.call/float.c: Likewise. * testsuite/libffi.call/float1.c: Likewise. * testsuite/libffi.call/float2.c: Likewise. * testsuite/libffi.call/many.c: Likewise. * testsuite/libffi.call/many_win32.c: Likewise. * testsuite/libffi.call/nested_struct.c: Likewise. * testsuite/libffi.call/nested_struct1.c: Likewise. * testsuite/libffi.call/pyobjc-tc.c: Likewise. * testsuite/libffi.call/problem1.c: Likewise. * testsuite/libffi.call/promotion.c: Likewise. * testsuite/libffi.call/return_ll.c: Likewise. * testsuite/libffi.call/return_sc.c: Likewise. * testsuite/libffi.call/return_uc.c: Likewise. * testsuite/libffi.call/strlen.c: Likewise. * testsuite/libffi.call/strlen_win32.c: Likewise. * testsuite/libffi.call/struct1.c: Likewise. * testsuite/libffi.call/struct2.c: Likewise. * testsuite/libffi.call/struct3.c: Likewise. * testsuite/libffi.call/struct4.c: Likewise. * testsuite/libffi.call/struct5.c: Likewise. * testsuite/libffi.call/struct6.c: Likewise. * testsuite/libffi.call/struct7.c: Likewise. * testsuite/libffi.call/struct8.c: Likewise. * testsuite/libffi.call/struct9.c: Likewise. * testsuite/libffi.special/special.exp: New file. * testsuite/libffi.special/ffitestcxx.h: Likewise. * testsuite/libffi.special/unwindtest.cc: Likewise. From-SVN: r71068
2003-06-13Makefile.am: Add SHmedia support.Kaz Kojima1-0/+11
* Makefile.am: Add SHmedia support. Fix a typo of SH support. * Makefile.in: Regenerate. * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target. * configure: Regenerate. * include/ffi.h.in: Add SHmedia support. * src/sh64/ffi.c: New file. * src/sh64/sysv.S: New file. From-SVN: r67869
2003-05-17configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section should be ↵Jakub Jelinek1-0/+28
read-only. * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section should be read-only. * configure: Rebuilt. * fficonfig.h.in: Rebuilt. * include/ffi.h.in (EH_FRAME_FLAGS): Define. * src/alpha/osf.S: Use EH_FRAME_FLAGS. * src/powerpc/linux64.S: Likewise. * src/powerpc/linux64_closure.S: Likewise. Include ffi.h. * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding if -fpic/-fPIC/-mrelocatable. * src/powerpc/powerpc_closure.S: Likewise. * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include #write in .eh_frame flags. * src/sparc/v9.S: Likewise. * src/x86/unix64.S: Use EH_FRAME_FLAGS. * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC. * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h. From-SVN: r66887
2003-05-08Solaris 7 .register fix.Jeff Sturm1-0/+37
From-SVN: r66617
2003-04-18configure.in (powerpc64*-*-linux*): Remove.Jakub Jelinek1-1/+1
* configure.in (powerpc64*-*-linux*): Remove. * configure: Rebuilt. libffi/ * include/ffi.h.in (POWERPC64): Define if 64-bit. (enum ffi_abi): Add FFI_LINUX64 on POWERPC. Make it the default on POWERPC64. (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64. * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*. * configure: Rebuilt. * src/powerpc/ffi.c (hidden): Define. (ffi_prep_args_SYSV): Renamed from ffi_prep_args. Cast pointers to unsigned long to shut up warnings. (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64, ASM_NEEDS_REGISTERS64): New. (ffi_prep_args64): New function. (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI. (ffi_call): Likewise. (ffi_prep_closure): Likewise. (flush_icache): Surround by #ifndef POWERPC64. (ffi_dblfl): New union type. (ffi_closure_helper_SYSV): Use it to avoid aliasing problems. (ffi_closure_helper_LINUX64): New function. * src/powerpc/ppc_closure.S: Surround whole file by #ifndef __powerpc64__. * src/powerpc/sysv.S: Likewise. (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV. * src/powerpc/linux64.S: New file. * src/powerpc/linux64_closure.S: New file. * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and src/powerpc/linux64_closure.S. (TARGET_SRC_POWERPC): Likewise. * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2, closure_test_fn3): Fix result printing on big-endian 64-bit machines. (main): Print tst2_arg instead of uninitialized tst2_result. * src/ffitest.c (main): Hide what closure pointer really points to from the compiler. From-SVN: r65781
2003-04-16configure.in (arm-*-netbsdelf*): Add configuration.Richard Earnshaw1-0/+1
* configure.in (arm-*-netbsdelf*): Add configuration. (configure): Regenerated. From-SVN: r65691
2003-04-11libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on mips*.Alexandre Oliva1-1/+1
* libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on mips*. * */configure: Rebuilt. From-SVN: r65459
2003-03-12configure.in: Avoid trailing /.Andreas Schwab1-1/+5
2003-03-10 Andreas Schwab <schwab@suse.de> boehm-gc: * configure.in: Avoid trailing /. in toolexeclibdir. * configure: Rebuilt. libf2c: * aclocal.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in glibcpp_toolexeclibdir. * configure: Rebuilt. libffi: * configure.in: Avoid trailing /. in toolexeclibdir. * configure: Rebuilt. libjava: * configure.in: Avoid trailing /. in toolexeclibdir. * configure: Rebuilt. libobjc: * aclocal.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in glibcpp_toolexeclibdir. * configure: Rebuilt. libstdc++-v3: * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in glibcpp_toolexeclibdir. * aclocal.m4, configure: Rebuilt. zlib: * configure.in: Avoid trailing /. in toolexeclibdir. * configure: Rebuilt. From-SVN: r64267
2003-02-20configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to config.status.Alexandre Oliva1-92/+107
* configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to config.status. * configure: Rebuilt. From-SVN: r63159
2003-02-01Fix wrongly applied last patch.Andreas Jaeger1-2/+2
From-SVN: r62239
2003-01-31configure.in: Adjust command to source config-ml.in to account for changes ↵Christian Cornelssen1-6/+6
to the... 2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>, Andreas Schwab <schwab@suse.de> * configure.in: Adjust command to source config-ml.in to account for changes to the libffi_basedir definition. (libffi_basedir): Remove ${srcdir} from value and include trailing slash if nonempty. * configure: Regenerate. Co-Authored-By: Andreas Schwab <schwab@suse.de> From-SVN: r62193
2003-01-28configure.in (toolexecdir, [...]): Set and AC_SUBST.Alexandre Oliva1-99/+143
* configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST. Remove USE_LIBDIR conditional. * Makefile.am (toolexecdir, toolexeclibdir): Don't override. * Makefile.in, configure: Rebuilt. From-SVN: r62040
2002-12-16Merge basic-improvements-branch to trunkZack Weinberg1-147/+140
From-SVN: r60174
2002-11-11* configure.in: Look for common files in the right place.DJ Delorie1-3/+3
From-SVN: r59039
2002-09-30configure.in: Add s390x-*-linux-* target.Ulrich Weigand1-66/+67
* configure.in: Add s390x-*-linux-* target. * configure: Regenerate. * include/ffi.h.in: Define S390X for s390x targets. (FFI_CLOSURES): Define for s390/s390x. (FFI_TRAMPOLINE_SIZE): Likewise. (FFI_NATIVE_RAW_API): Likewise. * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390. * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x. * src/s390/ffi.c: Major rework of existing code. Add support for s390x targets. Add closure support. * src/s390/sysv.S: Likewise. From-SVN: r57646
2002-08-14configure, configure: Rebuilt.Alexandre Oliva1-138/+174
* boehm-gc/configure, libf2c/configure: Rebuilt. * libffi/configure, libiberty/configure: Ditto. * libjava/configure, libobjc/configure: Ditto. * libstdc++-v3/configure, zlib/configure: Ditto. Merged from binutils: 2002-01-27 Daniel Jacobowitz <drow@mvista.com> From Steve Ellcey <sje@cup.hp.com>: * libtool.m4 (HPUX_IA64_MODE): Set to 32 or 64 based on ABI. (lt_cv_deplibs_check_method, lt_cv_file_magic_cmd, lt_cv_file_magic_test_file): Set to appropriate values for HP-UX IA64. * ltcf-c.sh (archive_cmds, hardcode_*): Ditto. * ltconfig (shlibpath_*, dynamic_linker, library_names_spec, soname_spec, sys_lib_search_path_spec): Ditto. From-SVN: r56270