head	1.20;
access;
symbols
	r2_00-beta:1.1.1.1 CYGNUS:1.1.1;
locks; strict;
comment	@# @;
expand	@o@;


1.20
date	2000.12.08.19.41.15;	author green;	state Exp;
branches;
next	1.19;

1.19
date	2000.09.10.07.45.09;	author aoliva;	state Exp;
branches;
next	1.18;

1.18
date	2000.09.10.07.43.14;	author aoliva;	state Exp;
branches;
next	1.17;

1.17
date	2000.08.24.01.01.57;	author aoliva;	state Exp;
branches;
next	1.16;

1.16
date	2000.05.11.18.16.36;	author tromey;	state Exp;
branches;
next	1.15;

1.15
date	2000.05.04.14.33.15;	author tromey;	state Exp;
branches;
next	1.14;

1.14
date	2000.05.01.21.35.34;	author tromey;	state Exp;
branches;
next	1.13;

1.13
date	2000.04.17.02.22.22;	author green;	state Exp;
branches;
next	1.12;

1.12
date	2000.04.17.02.15.31;	author green;	state Exp;
branches;
next	1.11;

1.11
date	2000.04.04.18.22.01;	author apbianco;	state Exp;
branches;
next	1.10;

1.10
date	2000.03.21.01.03.01;	author tromey;	state Exp;
branches;
next	1.9;

1.9
date	2000.03.09.04.47.57;	author bryce;	state Exp;
branches;
next	1.8;

1.8
date	2000.03.03.19.33.11;	author tromey;	state Exp;
branches;
next	1.7;

1.7
date	2000.03.03.16.58.42;	author tromey;	state Exp;
branches;
next	1.6;

1.6
date	2000.03.03.01.19.22;	author tromey;	state Exp;
branches;
next	1.5;

1.5
date	2000.02.25.19.13.43;	author tromey;	state Exp;
branches;
next	1.4;

1.4
date	2000.01.04.23.06.16;	author tromey;	state Exp;
branches;
next	1.3;

1.3
date	99.12.31.22.44.09;	author tromey;	state Exp;
branches;
next	1.2;

1.2
date	99.09.01.23.16.33;	author tromey;	state Exp;
branches;
next	1.1;

1.1
date	99.08.08.13.27.19;	author green;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	99.08.08.13.27.19;	author green;	state Exp;
branches;
next	;


desc
@@


1.20
log
@libffi closures for Alpha
@
text
@2000-12-07 Dec  8 11:23:29 2000  Richard Henderson  <rth@@redhat.com>

	* src/raw_api.c (ffi_translate_args): Fix typo.
	(ffi_prep_closure): Likewise.

	* include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
	FFI_TRAMPOLINE_SIZE.
	* src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
	cif->bytes for new ffi_call_osf implementation.
	(ffi_prep_args): Absorb into ...
	(ffi_call): ... here.  Do all stack allocation here and
	avoid a callback function.
	(ffi_prep_closure, ffi_closure_osf_inner): New.
	* src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
	(ffi_closure_osf): New.

2000-09-10  Alexandre Oliva  <aoliva@@redhat.com>

	* config.guess, config.sub, install-sh: Removed.
	* ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
	* Makefile.in: Rebuilt.

	* acinclude.m4: Include libtool macros from the top level.
	* aclocal.m4, configure: Rebuilt.

2000-08-22  Alexandre Oliva  <aoliva@@redhat.com>

	* configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
	* configure: Rebuilt.

2000-05-11  Scott Bambrough  <scottb@@netwinder.org>

	* libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to 
	memory correctly.  Use conditional instructions, not branches where 
	possible.

2000-05-04  Tom Tromey  <tromey@@cygnus.com>

	* configure: Rebuilt.
	* configure.in: Match `arm*-*-linux-*'.
	From Chris Dornan <cdornan@@arm.com>.

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.

2000-04-16  Anthony Green  <green@@redhat.com>

	* configure: Rebuilt.
	* configure.in: Change i*86-pc-linux* to i*86-*-linux*.

2000-04-14  Jakub Jelinek  <jakub@@redhat.com>

        * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
	Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
	* src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
	Replace all void * sizeofs with sizeof(int).
	Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
	different than DOUBLE.
	Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
	(ffi_prep_args_v9): New function.
	(ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
	(ffi_V9_return_struct): New function.
	(ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
	32bit code (not yet cross-arch calls).
	* src/sparc/v8.S: Add struct return delay nop.
	Handle long long.
	* src/sparc/v9.S: New file.
	* src/prep_cif.c (ffi_prep_cif): Return structure pointer
	is used on sparc64 only for structures larger than 32 bytes.
	Pass by reference for structures is done for structure arguments
	larger than 16 bytes.
	* src/ffitest.c (main): Use 64bit rint on sparc64.
	Run long long tests on sparc.
	* src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
	sparc64.
	(FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
	on sparc64.
	* configure.in (sparc-*-linux*): New supported target.
	(sparc64-*-linux*): Likewise.
	* configure: Rebuilt.
	* Makefile.am: Add v9.S to SPARC files.
	* Makefile.in: Likewise.
	(LINK): Surround $(CCLD) into double quotes, so that multilib
	compiles work correctly.

2000-04-04  Alexandre Petit-Bianco  <apbianco@@cygnus.com>

	* configure: Rebuilt.
	* configure.in: (i*86-*-solaris*): New libffi target. Patch
	proposed by Bryce McKinlay.

2000-03-20  Tom Tromey  <tromey@@cygnus.com>

	* Makefile.in: Hand edit for java_raw_api.lo.

2000-03-08  Bryce McKinlay  <bryce@@albatross.co.nz>

	* config.guess, config.sub: Update from the gcc tree.
	Fix for PR libgcj/168.

2000-03-03  Tom Tromey  <tromey@@cygnus.com>

	* Makefile.in: Fixed ia64 by hand.

	* configure: Rebuilt.
	* configure.in (--enable-multilib): New option.
	(libffi_basedir): New subst.
	(AC_OUTPUT): Added multilib code.

2000-03-02  Tom Tromey  <tromey@@cygnus.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
	directory name.

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.

2000-01-04  Tom Tromey  <tromey@@cygnus.com>

	* Makefile.in: Rebuilt with newer automake.

1999-12-31  Tom Tromey  <tromey@@cygnus.com>

	* Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.

1999-09-01  Tom Tromey  <tromey@@cygnus.com>

	* include/ffi.h.in: Removed PACKAGE and VERSION defines and
	undefs.
	* fficonfig.h.in: Rebuilt.
	* configure: Rebuilt.
	* configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
	Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
	* acconfig.h: Don't #undef PACKAGE or VERSION.

1999-08-09  Anthony Green  <green@@cygnus.com>

	* include/ffi.h.in: Try to work around messy header problem
	with PACKAGE and VERSION.

	* configure: Rebuilt.
	* configure.in: Change version to 2.00-beta.

        * fficonfig.h.in: Rebuilt.
	* acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.

	* src/x86/ffi.c (ffi_raw_call): Rename.

1999-08-02  Kresten Krab Thorup  <krab@@dominiq.is.s.u-tokyo.ac.jp>

	* src/x86/ffi.c (ffi_closure_SYSV): New function.
	(ffi_prep_incoming_args_SYSV): Ditto.
	(ffi_prep_closure): Ditto.
	(ffi_closure_raw_SYSV): Ditto.
	(ffi_prep_raw_closure): More ditto.
	(ffi_call_raw): Final ditto.

	* include/ffi.h.in: Add definitions for closure and raw API.

	* src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
	FFI_TYPE_UINT64.  

	* Makefile.am (libffi_la_common_SOURCES): Added raw_api.c

	* src/raw_api.c: New file.

	* include/ffi.h.in (ffi_raw): New type.
	(UINT_ARG, SINT_ARG): New defines.
	(ffi_closure, ffi_raw_closure): New types.
	(ffi_prep_closure, ffi_prep_raw_closure): New declarations.
	
	* configure.in: Add check for endianness and sizeof void*.

	* src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
	instead of directly.

	* configure: Rebuilt.

Thu Jul  8 14:28:42 1999  Anthony Green  <green@@cygnus.com>

	* configure.in: Add x86 and powerpc BeOS configurations.
	From Makoto Kato <m_kato@@ga2.so-net.ne.jp>.

1999-05-09  Anthony Green  <green@@cygnus.com>

	* configure.in: Add warning about this being beta code.
	Remove src/Makefile.am from the picture.
	* configure: Rebuilt.

	* Makefile.am: Move logic from src/Makefile.am.  Add changes
	to support libffi as a target library.
	* Makefile.in: Rebuilt.

	* aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
	Upgraded to new autoconf, automake, libtool.

	* README: Tweaks.

	* LICENSE: Update copyright date.

	* src/Makefile.am, src/Makefile.in: Removed.

1998-11-29  Anthony Green  <green@@cygnus.com>

	* include/ChangeLog: Removed.
	* src/ChangeLog: Removed.
	* src/mips/ChangeLog: Removed.
	* src/sparc/ChangeLog: Remboved.
	* src/x86/ChangeLog: Removed.

	* ChangeLog.v1: Created.
@


1.19
log
@* config.guess, config.sub, install-sh: Removed.
* ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
* Makefile.in: Rebuilt.
@
text
@d1 16
@


1.18
log
@* acinclude.m4: Include libtool macros from the top level.
* aclocal.m4, configure: Rebuilt.
@
text
@d3 4
@


1.17
log
@* configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
* configure: Rebuilt.
@
text
@d1 5
@


1.16
log
@2000-05-11  Scott Bambrough  <scottb@@netwinder.org>

	* libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
	memory correctly.  Use conditional instructions, not branches where
	possible.
@
text
@d1 5
@


1.15
log
@	* configure: Rebuilt.
	* configure.in: Match `arm*-*-linux-*'.
	From Chris Dornan <cdornan@@arm.com>.
@
text
@d1 6
@


1.14
log
@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.
@
text
@d1 6
@


1.13
log
@2000-04-16  Anthony Green  <green@@redhat.com>

	* configure: Rebuiltd.
	* configure.in: Change i*86-pc-linux* to i*86-*-linux*.
@
text
@d1 16
@


1.12
log
@Port to sparc 32 and 64 Linux.
@
text
@d1 5
@


1.11
log
@Top level:

2000-04-04  Alexandre Petit-Bianco  <apbianco@@cygnus.com>

        * configure.in: (i[3456]86-*-solaris2*): Removed `target-libffi'
        from list. Patch proposed by Anthony Green.

Libffi:

2000-04-04  Alexandre Petit-Bianco  <apbianco@@cygnus.com>

        * configure: Rebuilt.
        * configure.in: (i*86-*-solaris*): New libffi target. Patch
        proposed by Bryce McKinlay.
@
text
@d1 35
@


1.10
log
@	* Makefile.in: Hand edit for java_raw_api.lo.
@
text
@d1 6
@


1.9
log
@2000-03-08  Bryce McKinlay  <bryce@@albatross.co.nz>

        * config.guess, config.sub: Update from the gcc tree.
        Fix for PR libgcj/168.
@
text
@d1 4
@


1.8
log
@	* Makefile.in: Fixed ia64 by hand.
@
text
@d1 5
@


1.7
log
@	* configure: Rebuilt.
	* configure.in (--enable-multilib): New option.
	(libffi_basedir): New subst.
	(AC_OUTPUT): Added multilib code.
@
text
@d3 2
@


1.6
log
@	* Makefile.in: Rebuilt.
	* Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
	directory name.
@
text
@d1 7
@


1.5
log
@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.
@
text
@d1 6
@


1.4
log
@	* Makefile.in: Rebuilt with newer automake.
@
text
@d1 21
@


1.3
log
@	* Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
@
text
@d1 4
@


1.2
log
@	* include/ffi.h.in: Removed PACKAGE and VERSION defines and
	undefs.
	* fficonfig.h.in: Rebuilt.
	* configure: Rebuilt.
	* configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
	Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
	* acconfig.h: Don't #undef PACKAGE or VERSION.
@
text
@d1 4
@


1.1
log
@Initial revision
@
text
@d1 10
@


1.1.1.1
log
@2.00-beta import
@
text
@@
