Commit Graph

56 Commits

Author SHA1 Message Date
Paolo Bonzini
a3bd50cc4b configure.ac [...]: Set X86_DARWIN symbol and conditional.
2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
	    Sandro Tolaini  <tolaini@libero.it>

	* configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and 
	conditional.
	* configure: Regenerated.
	* Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
	(EXTRA_DIST): Add src/x86/darwin.S.
	* Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* testsuite/Makefile.in: Regenerated.

	* src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
	X86_WIN32, and additionally align stack to 16 bytes.
	* src/x86/darwin.S: New, based on sysv.S.
	* src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.


Co-Authored-By: Sandro Tolaini <tolaini@libero.it>

From-SVN: r117602
2006-10-10 14:21:05 +00:00
David Daney
b095810f1b re PR libffi/23935 ($PREFIX/include/ffi.h needs to go to a target- and -version-dependent location)
PR libffi/23935
	* include/Makefile.am: Install both ffi.h and ffitarget.h in
	$(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
	* aclocal.m4: Regenerated for automake 1.9.6.
	* Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* testsuite/Makefile.in: Regenerated.

From-SVN: r116893
2006-09-12 16:51:43 +00:00
Carlos O'Donell
8665824cdc Makefile.am: Add install-html target.
2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>

	* 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.

From-SVN: r114037
2006-05-24 01:45:57 +00:00
John David Anglin
e6c300efaa Makefile.am: Add PA_HPUX port.
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-04-05 23:26:34 +02:00
Andreas Tobler
970676420b Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
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-07-19 23:15:36 +02:00
Kelley Cook
a097ef55fc configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
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-18 01:49:43 +00:00
Simon Posnjak
614348bbec Makefile.am: Add CRIS support.
* 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-18 17:08:58 +00:00
Zack Weinberg
c690027275 configure.ac: Do not invoke TL_AC_GCC_VERSION.
* 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
2005-03-21 18:01:47 +00:00
David Edelsohn
7994d50cfa Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and PICFLAG.
* Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
	PICFLAG.
	* Makefile.in: Regenerated.

From-SVN: r91905
2004-12-08 10:48:53 -05:00
Richard Sandiford
afabd8e62c Introduce and use config/gcc-version.m4.
From-SVN: r91625
2004-12-02 11:05:13 +00:00
Kelley Cook
b85e31b94a Makefile.am: Remove no-dependencies.
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-11-23 04:11:31 +00:00
Kazuhiro Inaoka
a472e9d4e6 Makefile.am: Add m32r support.
* 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-13 17:20:24 +00:00
Anthony Green
88d8c771f9 Makefile.am: Add frv support.
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-30 15:43:03 +00:00
Matthias Klose
401844effd libtool-version: New.
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-17 21:32:58 +00:00
Paolo Bonzini
076e544330 configure.ac: New name of configure.in.
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-15 14:47:55 +00:00
Matthias Klose
d65a810fe4 [multiple changes]
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-19 22:34:17 +00:00
Kelley Cook
0e8d0c5f6c configure.in: Rename file to ...
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-15 23:15:05 +00:00
Andreas Tobler
3ed8e5b64d Makefile.am (AUTOMAKE_OPTIONS): Set them.
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-11 20:59:49 +01:00
Andreas Tobler
3eee102eda Makefile.in: Rebuilt.
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-22 14:41:33 +01:00
Andreas Jaeger
5196736e47 acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
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-21 12:24:10 +01:00
Andreas Tobler
ea81d2a3e1 re PR libffi/11147 (fficonfig.h is abi-specific)
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-11-12 19:18:30 +01:00
Andreas Tobler
1450eb7a07 [multiple changes]
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-10-21 21:01:58 +02:00
Andreas Tobler
6f20d62741 Makefile.am: Remove build rules for ffitest.
2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>

	* Makefile.am: Remove build rules for ffitest.
	* Makefile.in: Rebuilt.

From-SVN: r71078
2003-09-04 19:21:51 +02:00
Andreas Tobler
bbf3057bf9 003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
* 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-09-04 16:47:05 +02:00
Kaz Kojima
e860ed6dce Makefile.am: Add SHmedia support.
* 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-06-13 02:23:26 +00:00
Jakub Jelinek
e9b841813c configure.in (powerpc64*-*-linux*): Remove.
* 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-18 14:32:36 +02:00
Alexandre Oliva
db2cd5e6c0 configure.in (toolexecdir, [...]): Set and AC_SUBST.
* 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
2003-01-28 22:58:58 +00:00
David Edelsohn
acabc2201e Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
* Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
        * Makefile.in: Regenerate.

From-SVN: r61899
2003-01-27 15:25:43 -05:00
Kaveh R. Ghazi
6c5d742e3b Makefile.am (all-multi): Fix multilib parallel build.
boehm-gc:
	* Makefile.am (all-multi): Fix multilib parallel build.
libf2c:
	* Makefile.in (all): Fix multilib parallel build.
libffi:
	* Makefile.am (all-multi): Fix multilib parallel build.
libiberty:
	* Makefile.in (all): Fix multilib parallel build.
libjava:
	* Makefile.am (all-multi): Fix multilib parallel build.
libobjc:
	* Makefile.in (all): Fix multilib parallel build.
libstdc++-v3:
	* Makefile.am (all-multi): Fix multilib parallel build.
zlib:
	* Makefile.am (all-multi): Fix multilib parallel build.

From-SVN: r57423
2002-09-23 03:52:55 +00:00
Kaz Kojima
ddebdfebad Makefile.am: Add SH support.
* Makefile.am: Add SH support.
	* Makefile.in: Regenerate.
	* configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
	* configure: Regenerate.
	* include/ffi.h.in: Add SH support.
	* src/sh/ffi.c: New file.
	* src/sh/sysv.S: New file.
	* src/types.c: Add SH support.

From-SVN: r55574
2002-07-19 01:08:43 +00:00
Bo Thorsen
c94974caed [multiple changes]
2002-07-16  Bo Thorsen  <bo@suse.de>

	* src/x86/ffi64.c: New file that adds x86-64 support.
	* src/x86/unix64.S: New file that handles argument setup for
	x86-64.
	* src/x86/sysv.S: Don't use this on x86-64.
	* src/x86/ffi.c: Don't use this on x86-64.
	Remove unused vars.
	* src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
	for x86-64.
	* src/ffitest.c (struct6): New test that tests a special case in
	the x86-64 ABI.
	(struct7): Likewise.
	(struct8): Likewise.
	(struct9): Likewise.
	(closure_test_fn): Silence warning about this when it's not used.
	(main): Add the new tests.
	(main): Fix a couple of wrong casts and silence some compiler warnings.
	* include/ffi.h.in: Add x86-64 ABI definition.
	* fficonfig.h.in: Regenerate.
	* Makefile.am: Add x86-64 support.
	* configure.in: Likewise.
	* Makefile.in: Regenerate.
	* configure: Likewise.

2002-06-24  Bo Thorsen  <bo@suse.de>

	* src/types.c: Merge settings for similar architectures.
	Add x86-64 sizes and alignments.

2002-06-23  Bo Thorsen  <bo@suse.de>

	* src/arm/ffi.c (ffi_prep_args): Remove unused vars.
	* src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
	* src/mips/ffi.c (ffi_prep_args): Likewise.
	* src/m68k/ffi.c (ffi_prep_args): Likewise.

From-SVN: r55571
2002-07-19 01:08:31 +02:00
H.J. Lu
5be36a8f27 Makefile.am (TARGET_SRC_MIPS_LINUX): New.
2002-07-18  H.J. Lu  (hjl@gnu.org)

	* Makefile.am (TARGET_SRC_MIPS_LINUX): New.
	(libffi_la_SOURCES): Support MIPS_LINUX.
	(libffi_convenience_la_SOURCES): Likewise.
	* Makefile.in: Regenerated.

	* configure.in (mips64*-*): Skip.
	(mips*-*-linux*): New.
	* configure: Regenerated.

	* src/mips/ffi.c: Include <sgidefs.h>.

From-SVN: r55561
2002-07-18 10:55:28 -07:00
Gerhard Tonn
22bcf65c52 Makefile.am: Add Linux for S/390 support.
2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>

	* Makefile.am: Add Linux for S/390 support.
	* Makefile.in: Regenerate.
	* configure.in: Add Linux for S/390 support.
	* configure: Regenerate.
	* include/ffi.h.in: Add Linux for S/390 support.
	* src/s390/ffi.c: New file from libffi CVS tree.
	* src/s390/sysv.S: New file from libffi CVS tree.

From-SVN: r52873
2002-04-29 05:14:44 +01:00
Bryce McKinlay
1eb7ba303a Makefile.am: Define ffitest_OBJECTS.
* Makefile.am: Define ffitest_OBJECTS.
	* Makefile.in: Rebuilt.

From-SVN: r50904
2002-03-17 01:05:11 +00:00
Bryce McKinlay
ce3b24a73a Makefile.am: Make target library a convenience library.
zlib:
	* Makefile.am: Make target library a convenience library.
	* Makefile.in: Rebuilt.

libffi:
	* Makefile.am: libfficonvenience -> libffi_convenience.
	* Makefile.in: Rebuilt.

boehm-gc:
	* Makefile.am: Make a convenience library.
	* Makefile.in: Rebuilt.

libjava:
	Build a single libgcj.so, without separate gc and zlib libraries.
	* configure.in: Use convenience libraries for boehm-gc and zlib. Set
	SYS_ZLIBS if system zlib is used.
	* configure: Rebuilt.
	* Makefile.am: Use boehm-gc and zlib convenience libraries.
	* Makefile.in: Rebuilt.
	* libtool-version: Increment .so version number.

From-SVN: r50900
2002-03-17 00:35:21 +00:00
Andreas Tobler
073ae293d9 Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
	    David Edelsohn  <edelsohn@gnu.org>

	* Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
	(TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
	(TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
	* Makefile.in: Regenerate.
	* include/ffi.h.in: Add AIX and Darwin closure definitions.
	* src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
	(flush_icache, flush_range): New functions.
	(ffi_closure_helper_DARWIN): New function.
	* src/powerpc/aix_closure.S: New file.
	* src/powerpc/darwin_closure.S: New file.

Co-Authored-By: David Edelsohn <edelsohn@gnu.org>

From-SVN: r50408
2002-03-07 13:24:42 -05:00
David Edelsohn
2f4006f8c7 Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
* Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
        (TARGET_SRC_POWERPC_AIX): New.
        (POWERPC_AIX): New stanza.
        * Makefile.in: Regenerate.
        * configure.in: Add AIX case.
        * configure: Regenerate.
        * include/ffi.h.in (ffi_abi): Add FFI_AIX.
        * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
        size.  Fix "long double" support.
        (ffi_call): Add FFI_AIX case.
        * src/powerpc/aix.S: New.

From-SVN: r48956
2002-01-17 11:04:21 -05:00
John Hornkvist
3c017635c9 Implement Darwin PowerPC ABI.
2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>

        Implement Darwin PowerPC ABI.
        * configure.in: Handle powerpc-*-darwin*.
        * Makefile.am: Set source files for POWERPC_DARWIN.
        * configure: Rebuilt.
        * Makefile.in: Rebuilt.
        * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
        POWERPC_DARWIN.
        * src/powerpc/darwin.S: New file.
        * src/powerpc/ffi_darwin.c: New file.

From-SVN: r46112
2001-10-09 06:32:16 +01:00
Bryce McKinlay
52c2897732 Makefile.am: Make a libtool convenience library.
libffi:
	* Makefile.am: Make a libtool convenience library.
	* Makefile.in: Rebuilt.

libjava:
	* java/io/File.java (normalizePath): New private method.
	(File (String)): Use normalizePath().
	(File (String, String)): Likewise.

	* Makefile.am (libffi_files): Removed.
	(libgcj.la): Link libffi as a convenience library instead of
	refering to its object files directly.
	* Makefile.in: Rebuilt.

From-SVN: r41298
2001-04-12 10:32:50 +01:00
Jon Beniston
d6c4152ac0 configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
2001-03-27  Jon Beniston  <jon@beniston.com>

	* configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
	* configure: Rebuilt.
	* Makefile.am: Added X86_WIN32 target support.
	* Makefile.in: Rebuilt.

	* include/ffi.h.in: Added X86_WIN32 target support.

	* src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
	* src/types.c: Added X86_WIN32 target support.

	* src/x86/win32.S: New file. Based on sysv.S, but with EH
	stuff removed and made to work with CygWin's gas.

From-SVN: r40860
2001-03-27 03:39:16 +01:00
Bryce McKinlay
675cdab3df configure.in: Make target subdirectory in build dir.
* configure.in: Make target subdirectory in build dir.
	* Makefile.am: Override suffix based rules to specify correct output
	subdirectory.
	* Makefile.in: Rebuilt.
	* configure: Rebuilt.

From-SVN: r40853
2001-03-26 23:52:36 +01:00
Kevin B Hendricks
cc4c8975aa ppc_closure.S: New file.
* src/powerpc/ppc_closure.S: New file.
	* src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
	involving long long and register pairs.
	(ffi_prep_closure): New function.
	(flush_icache): Likewise.
	(ffi_closure_helper_SYSV): Likewise.
	* include/ffi.h.in (FFI_CLOSURES): Define on PPC.
	(FFI_TRAMPOLINE_SIZE): Likewise.
	(FFI_NATIVE_RAW_API): Likewise.
	* Makefile.in: Rebuilt.
	* Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
	(TARGET_SRC_POWERPC): Likewise.

From-SVN: r40807
2001-03-24 03:26:28 +00:00
Tom Tromey
9450a9295b Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (ffitest_LDFLAGS): New macro.

From-SVN: r40768
2001-03-23 01:26:33 +00:00
Alexandre Oliva
ed1c1a1a58 config.guess, [...]: Removed.
* config.guess, config.sub, install-sh: Removed.
* ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
* Makefile.in: Rebuilt.

From-SVN: r36289
2000-09-10 07:45:10 +00:00
Jakub Jelinek
91bffbe9d6 Makefile.am (SUBDIRS): Define.
2000-04-28  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.am (SUBDIRS): Define.
	(AM_MAKEFLAGS): Likewise.
	(Multilib support.): Add section.
	* Makefile.in: Rebuilt.
	* ltconfig (extra_compiler_flags, extra_compiler_flags_value):
        New variables. Set for gcc using -print-multi-lib. Export them
        to libtool.
        (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
        * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
        for -shared links.
        (extra_compiler_flags_value, extra_compiler_flags): Check these
        for extra compiler options which need to be passed down in
        compiler_flags.

From-SVN: r33586
2000-05-01 21:35:35 +00:00
Jakub Jelinek
3791773c93 Port to sparc 32 and 64 Linux.
From-SVN: r33196
2000-04-17 02:15:32 +00:00
Tom Tromey
c1f6390295 * Makefile.in: Hand edit for java_raw_api.lo.
From-SVN: r32660
2000-03-21 01:03:02 +00:00
Tom Tromey
323eee8ae3 * Makefile.in: Fixed ia64 by hand.
From-SVN: r32314
2000-03-03 19:33:11 +00:00
Tom Tromey
a2b10a92a3 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
	directory name.

From-SVN: r32301
2000-03-03 01:19:22 +00:00
Hans Boehm
dc5de37072 ffi.c, [...]: New files.
2000-02-25  Hans Boehm <boehm@acm.org>

	* src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
	files.
	* src/raw_api.c (ffi_translate_args): Fixed typo in argument
	list.
	(ffi_prep_raw_closure): Use ffi_translate_args, not
	ffi_closure_translate.
	* src/java_raw_api.c: New file.
	* src/ffitest.c (closure_test_fn): New function.
	(main): Define `rint' as long long on IA64.  Added new test when
	FFI_CLOSURES is defined.
	* include/ffi.h.in (ALIGN): Use size_t, not unsigned.
	(ffi_abi): Recognize IA64.
	(ffi_raw): Added `flt' field.
	Added "Java raw API" code.
	* configure.in: Recognize ia64.
	* Makefile.am (TARGET_SRC_IA64): New macro.
	(libffi_la_common_SOURCES): Added java_raw_api.c.
	(libffi_la_SOURCES): Define in IA64 case.

From-SVN: r32151
2000-02-25 19:13:44 +00:00