ChangeLog   [plain text]

2002-04-08  Hans Boehm  <>

	* src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
	* src/ia64/unix.S: Add unwind information. Fix comments.
	Save sp in a way that's compatible with unwind info.
	(ffi_call_unix): Correctly restore sp in all cases.
	* src/ia64/ffi.c: Add, fix comments.

2002-04-08  Jakub Jelinek  <>

	* src/sparc/v8.S: Make .eh_frame dependent on target word size.

2002-04-04  Jeff Sturm  <>

	* src/sparc/v8.S: Add unwind info.
	* src/sparc/v9.S: Likewise.

2002-04-01  Loren J. Rittle  <>

	* Enable alpha*-*-freebsd*.
	* configure: Rebuilt.

2002-03-30  Krister Walfridsson  <>

	* Enable i*86-*-netbsdelf*.
	* configure: Rebuilt.
2002-03-29  David Billinghurst <>

	PR other/2620
	* src/mips/n32.s: Delete
	* src/mips/o32.s: Delete

2002-03-17  Bryce McKinlay  <>

	* libfficonvenience -> libffi_convenience.
	* Rebuilt.
	* Define ffitest_OBJECTS.
	* Rebuilt.

2002-03-07  Andreas Tobler  <>
	    David Edelsohn  <>

	* (EXTRA_DIST): Add Darwin and AIX closure files.
	(TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
	(TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
	* Regenerate.
	* include/ 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.
2002-02-24  Jeff Sturm  <>

	* include/ Add typedef for ffi_arg.
	* src/ffitest.c (main): Declare rint with ffi_arg.
2002-02-21  Andreas Tobler  <>

	* src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
	number of GPRs for floating-point arguments.

2002-01-31  Anthony Green  <>

	* configure: Rebuilt.
	* Replace CHECK_SIZEOF and endian tests with
	cross-compiler friendly macros.

2002-01-18  David Edelsohn  <>

	* src/powerpc/darwin.S (_ffi_call_AIX): New.
	* src/powerpc/aix.S (ffi_call_DARWIN): New.

2002-01-17  David Edelsohn  <>

	* (EXTRA_DIST): Add Darwin and AIX files.
	(POWERPC_AIX): New stanza.
	* Regenerate.
	* Add AIX case.
	* configure: Regenerate.
	* include/ (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.

2001-10-09  John Hornkvist  <>

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

2001-10-07  Joseph S. Myers  <>

	* src/x86/ffi.c: Fix spelling error of "separate" as "seperate".

2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* src/x86/sysv.S: Avoid gas-only .balign directive.
	Use C style comments.

2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
	Fixes PR bootstrap/3563.

2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.

2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* Recognize sparc*-sun-* host.
	* configure: Regenerate.
2001-06-06  Andrew Haley  <>

        * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.

2001-06-03  Andrew Haley  <>

        * src/alpha/osf.S: Add unwind info.
        * src/powerpc/sysv.S: Add unwind info.
        * src/powerpc/ppc_closure.S: Likewise.

2000-05-31  Jeff Sturm  <>

	* Fix AC_ARG_ENABLE usage.
	* configure: Rebuilt.

2001-05-06  Bryce McKinlay  <>

	* Remove warning about beta code.
	* configure: Rebuilt.

2001-04-25  Hans Boehm <>

	* src/ia64/unix.S: Restore stack pointer when returning from
	* src/ia64/ffi.c: Fix typo in comment.

2001-04-18  Jim Wilson  <>

	* src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
	to eliminate RAW DV.

2001-04-12  Bryce McKinlay  <>

	* Make a libtool convenience library.
	* Rebuilt.

2001-03-29  Bryce McKinlay  <>

	* Use different syntax for subdirectory creation.
	* configure: Rebuilt.

2001-03-27  Jon Beniston  <>

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

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

2001-03-26  Bryce McKinlay  <>

	* Make target subdirectory in build dir.
	* Override suffix based rules to specify correct output
	* Rebuilt.
	* configure: Rebuilt.

2001-03-23  Kevin B Hendricks  <>

	* 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_CLOSURES): Define on PPC.
	(FFI_NATIVE_RAW_API): Likewise.
	* Rebuilt.
	* (EXTRA_DIST): Added src/powerpc/ppc_closure.S.

2001-03-19  Tom Tromey  <>

	* Rebuilt.
	* (ffitest_LDFLAGS): New macro.

2001-03-02  Nick Clifton  <>

	* include/ Remove RCS ident string.
	* include/ffi_mips.h: Remove RCS ident string.
	* src/debug.c: Remove RCS ident string.
	* src/ffitest.c: Remove RCS ident string.
	* src/prep_cif.c: Remove RCS ident string.
	* src/types.c: Remove RCS ident string.
	* src/alpha/ffi.c: Remove RCS ident string.
	* src/alpha/osf.S: Remove RCS ident string.
	* src/arm/ffi.c: Remove RCS ident string.
	* src/arm/sysv.S: Remove RCS ident string.
	* src/mips/ffi.c: Remove RCS ident string.
	* src/mips/n32.S: Remove RCS ident string.
	* src/mips/o32.S: Remove RCS ident string.
	* src/sparc/ffi.c: Remove RCS ident string.
	* src/sparc/v8.S: Remove RCS ident string.
	* src/sparc/v9.S: Remove RCS ident string.
	* src/x86/ffi.c: Remove RCS ident string.
	* src/x86/sysv.S: Remove RCS ident string.

2001-02-08  Joseph S. Myers  <>

	* include/ Change references to

2000-12-09  Richard Henderson  <>

	* src/alpha/ffi.c (ffi_call): Simplify struct return test.
	(ffi_closure_osf_inner): Index rather than increment avalue
	and arg_types.  Give ffi_closure_osf the raw return value type.
	* src/alpha/osf.S (ffi_closure_osf): Handle return value type

2000-12-07  Richard Henderson  <>

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

	* include/ [ALPHA]: Define FFI_CLOSURES and
	* 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  <>

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

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

2000-08-22  Alexandre Oliva  <>

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

2000-05-11  Scott Bambrough  <>

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

2000-05-04  Tom Tromey  <>

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

2000-04-28  Jakub Jelinek  <>

	* (SUBDIRS): Define.
	(AM_MAKEFLAGS): Likewise.
	(Multilib support.): Add section.
	* 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.
        * (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

2000-04-16  Anthony Green  <>

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

2000-04-14  Jakub Jelinek  <>

        * include/ (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
	(FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
	on sparc64.
	* (sparc-*-linux*): New supported target.
	(sparc64-*-linux*): Likewise.
	* configure: Rebuilt.
	* Add v9.S to SPARC files.
	* Likewise.
	(LINK): Surround $(CCLD) into double quotes, so that multilib
	compiles work correctly.

2000-04-04  Alexandre Petit-Bianco  <>

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

2000-03-20  Tom Tromey  <>

	* Hand edit for java_raw_api.lo.

2000-03-08  Bryce McKinlay  <>

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

2000-03-03  Tom Tromey  <>

	* Fixed ia64 by hand.

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

2000-03-02  Tom Tromey  <>

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

2000-02-25  Hans Boehm <>

	* src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
	* src/raw_api.c (ffi_translate_args): Fixed typo in argument
	(ffi_prep_raw_closure): Use ffi_translate_args, not
	* 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/ (ALIGN): Use size_t, not unsigned.
	(ffi_abi): Recognize IA64.
	(ffi_raw): Added `flt' field.
	Added "Java raw API" code.
	* Recognize ia64.
	* (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  <>

	* Rebuilt with newer automake.

1999-12-31  Tom Tromey  <>

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

1999-09-01  Tom Tromey  <>

	* include/ Removed PACKAGE and VERSION defines and
	* Rebuilt.
	* configure: Rebuilt.
	* 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  <>

	* include/ Try to work around messy header problem

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

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

	* 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/ Add definitions for closure and raw API.

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

	* (libffi_la_common_SOURCES): Added raw_api.c

	* src/raw_api.c: New file.

	* include/ (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.
	* 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  <>

	* Add x86 and powerpc BeOS configurations.
	From Makoto Kato <>.

1999-05-09  Anthony Green  <>

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

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

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

	* README: Tweaks.

	* LICENSE: Update copyright date.

	* src/, src/ Removed.

1998-11-29  Anthony Green  <>

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

	* ChangeLog.v1: Created.