Home | History | Annotate | Download | only in libffi
      1 2014-03-16  Josh Triplett  <josh (a] joshtriplett.org>
      2 
      3 	* ChangeLog: Archive to ChangeLog.libffi-3.1 and delete.  Future
      4 	changelogs will come from git, with autogenerated snapshots shipped in
      5 	distributed tarballs.
      6 
      7 2014-03-16  Josh Triplett  <josh (a] joshtriplett.org>
      8 
      9 	Add support for stdcall, thiscall, and fastcall on non-Windows
     10 	x86-32.
     11 
     12 	Linux supports the stdcall calling convention, either via
     13 	functions explicitly declared with the stdcall attribute, or via
     14 	code compiled with -mrtd which effectively makes stdcall the
     15 	default.
     16 
     17 	This introduces FFI_STDCALL, FFI_THISCALL, and FFI_FASTCALL on
     18 	non-Windows x86-32 platforms, as non-default calling conventions.
     19 
     20 	* Makefile.am: Compile in src/x86/win32.S on non-Windows x86-32.
     21 	* src/x86/ffitarget.h: Add FFI_STDCALL, FFI_THISCALL, and
     22 	FFI_FASTCALL on non-Windows x86-32.  Increase trampoline size to
     23 	accomodate these calling conventions, and unify some ifdeffery.
     24 	* src/x86/ffi.c: Add support for FFI_STDCALL, FFI_THISCALL, and
     25 	FFI_FASTCALL on non-Windows x86-32 platforms; update ifdeffery.
     26 	* src/x86/win32.S: Support compiling on non-Windows x86-32
     27 	platforms.  On those platforms, avoid redefining the SYSV symbols
     28 	already provided by src/x86/sysv.S.
     29 	* testsuite/libffi.call/closure_stdcall.c: Run on non-Windows.
     30 	#define __stdcall if needed.
     31 	* testsuite/libffi.call/closure_thiscall.c: Run on non-Windows.
     32 	#define __fastcall if needed.
     33 	* testsuite/libffi.call/fastthis1_win32.c: Run on non-Windows.
     34 	* testsuite/libffi.call/fastthis2_win32.c: Ditto.
     35 	* testsuite/libffi.call/fastthis3_win32.c: Ditto.
     36 	* testsuite/libffi.call/many2_win32.c: Ditto.
     37 	* testsuite/libffi.call/many_win32.c: Ditto.
     38 	* testsuite/libffi.call/strlen2_win32.c: Ditto.
     39 	* testsuite/libffi.call/strlen_win32.c: Ditto.
     40 	* testsuite/libffi.call/struct1_win32.c: Ditto.
     41 	* testsuite/libffi.call/struct2_win32.c: Ditto.
     42 
     43 2014-03-16  Josh Triplett  <josh (a] joshtriplett.org>
     44 
     45 	* prep_cif.c: Remove unnecessary ifdef for X86_WIN32.
     46 	ffi_prep_cif_core had a special case for X86_WIN32, checking for
     47 	FFI_THISCALL in addition to the FFI_FIRST_ABI-to-FFI_LAST_ABI
     48 	range before returning FFI_BAD_ABI.  However, on X86_WIN32,
     49 	FFI_THISCALL already falls in that range, making the special case
     50 	unnecessary.  Remove it.
     51 
     52 2014-03-16  Josh Triplett  <josh (a] joshtriplett.org>
     53 
     54 	* testsuite/libffi.call/closure_stdcall.c,
     55 	testsuite/libffi.call/closure_thiscall.c: Remove fragile stack
     56 	pointer checks.  These files included inline assembly to save the
     57 	stack pointer before and after the call, and compare the values.
     58 	However, compilers can and do leave the stack in different states
     59 	for these two pieces of inline assembly, such as by saving a
     60 	temporary value on the stack across the call; observed with gcc
     61 	-Os, and verified as spurious through careful inspection of
     62 	disassembly.
     63 
     64 2014-03-16  Josh Triplett  <josh (a] joshtriplett.org>
     65 
     66 	* testsuite/libffi.call/many.c: Avoid spurious failure due to
     67 	excess floating-point precision.
     68 	* testsuite/libffi.call/many_win32.c: Ditto.
     69 
     70 2014-03-16  Josh Triplett <josh (a] joshtriplett.org>
     71 
     72 	* libtool-ldflags: Re-add.
     73 
     74 2014-03-16  Josh Triplett <josh (a] joshtriplett.org>
     75 
     76 	* Makefile.in, aclocal.m4, compile, config.guess, config.sub,
     77 	configure, depcomp, include/Makefile.in, install-sh,
     78 	libtool-ldflags, ltmain.sh, m4/libtool.m4, m4/ltoptions.m4,
     79 	m4/ltsugar.m4, m4/ltversion.m4, m4/lt~obsolete.m4,
     80 	man/Makefile.in, mdate-sh, missing, testsuite/Makefile.in: Delete
     81 	autogenerated files from version control.
     82 	* .gitignore: Add autogenerated files.
     83 	* autogen.sh: New script to generate the autogenerated files.
     84 	* README: Document requirement to run autogen.sh when building
     85 	directly from version control.
     86 	* .travis.yml: Run autogen.sh
     87 
     88 2014-03-14  Anthony Green <green (a] moxielogic.com>
     89 
     90 	* configure, Makefile.in: Rebuilt.
     91 
     92 2014-03-10  Mike Hommey <mh+mozilla (a] glandium.org>
     93 
     94 	* configure.ac: Allow building for mipsel with Android NDK r8.
     95 	* Makefile.am (AM_MAKEFLAGS): Replace double quotes with single
     96 	quotes.
     97 
     98 2014-03-10  Landry Breuil <landry (a] openbsd.org>
     99 
    100 	* configure.ac: Ensure the linker supports @unwind sections in libffi.
    101 
    102 2014-03-01  Anthony Green  <green (a] moxielogic.com>
    103 
    104 	* Makefile.am (EXTRA_DIST): Replace old scripts with
    105 	generate-darwin-source-and-headers.py.
    106 	* Makefile.in: Rebuilt.
    107 
    108 2014-02-28  Anthony Green  <green (a] moxielogic.com>
    109 
    110 	* Makefile.am (AM_CFLAGS): Reintroduce missing -DFFI_DEBUG for
    111 	--enable-debug builds.
    112 	* Makefile.in: Rebuilt.
    113 
    114 2014-02-28  Makoto Kato  <m_kato (a] ga2.so-net.ne.jp>
    115 
    116 	* src/closures.c: Fix build failure when using clang for Android.
    117 
    118 2014-02-28  Marcin Wojdyr  <wojdyr (a] gmail.com>
    119 
    120 	* libffi.pc.in (toolexeclibdir): use -L${toolexeclibdir} instead
    121 	of -L${libdir}.
    122 
    123 2014-02-28  Paulo Pizarro  <paulo.pizarro (a] gmail.com>
    124 
    125 	* src/bfin/sysv.S: Calling functions in shared libraries requires
    126 	considering the GOT.
    127 
    128 2014-02-28  Josh Triplett  <josh (a] joshtriplett.org>
    129 
    130 	* src/x86/ffi64.c (classify_argument): Handle case where
    131 	FFI_TYPE_LONGDOUBLE == FFI_TYPE_DOUBLE.
    132 
    133 2014-02-28  Anthony Green  <green (a] moxielogic.com>
    134 
    135 	* ltmain.sh: Generate with libtool-2.4.2.418.
    136 	* m4/libtool.m4, m4/ltoptions.m4, m4/ltversion.m4: Ditto.
    137 	* configure: Rebuilt.
    138 
    139 2014-02-28  Dominik Vogt  <vogt (a] linux.vnet.ibm.com>
    140 
    141 	* configure.ac (AC_ARG_ENABLE struct): Fix typo in help
    142 	message.
    143 	(AC_ARG_ENABLE raw_api): Ditto.
    144 	* configure, fficonfig.h.in: Rebuilt.
    145 
    146 2014-02-28  Will Newton  <will.newton (a] linaro.org>
    147 
    148 	* src/arm/sysv.S: Initialize IP register with FP.
    149 
    150 2014-02-28  Yufeng Zhang  <yufeng.zhang (a] arm.com>
    151 
    152 	* src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the
    153 	main CFA reg; update cfi_rel_offset.
    154 
    155 2014-02-15  Marcus Comstedt  <marcus (a] mc.pp.se>
    156 
    157 	* src/powerpc/ffi_linux64.c, src/powerpc/linux64_closure.S: Remove
    158 	assumption on contents of r11 in closure.
    159 
    160 2014-02-09  Heiher  <r (a] hev.cc>
    161 
    162 	* src/mips/n32.S: Fix call floating point va function.
    163 
    164 2014-01-21  Zachary Waldowski  <zach (a] waldowski.me>
    165 
    166 	* src/aarch64/ffi.c: Fix missing semicolons on assertions under
    167 	debug mode.
    168 
    169 2013-12-30  Zachary Waldowski  <zach (a] waldowski.me>
    170 
    171 	* .gitignore: Exclude darwin_* generated source and build_* trees.
    172 	* src/aarch64/ffi.c, src/arm/ffi.c, src/x86/ffi.c: Inhibit Clang
    173 	previous prototype warnings.
    174 	* src/arm/ffi.c: Prevent NULL dereference, fix short type warning
    175 	* src/dlmalloc.c: Fix warnings from set_segment_flags return type,
    176 	and the native use of size_t for malloc on platforms
    177 	* src/arm/sysv.S: Use unified syntax. Clang clean-ups for
    178 	ARM_FUNC_START.
    179 	* generate-osx-source-and-headers.py: Remove.
    180 	* build-ios.sh: Remove.
    181 	* libffi.xcodeproj/project.pbxproj: Rebuild targets. Include
    182 	x86_64+aarch64 pieces in library.  Export headers properly.
    183 	* src/x86/ffi64.c: More Clang warning clean-ups.
    184 	* src/closures.c (open_temp_exec_file_dir): Use size_t.
    185 	* src/prep_cif.c (ffi_prep_cif_core): Cast ALIGN result.
    186 	* src/aarch64/sysv.S: Use CNAME for global symbols.  Only use
    187 	.size for ELF targets.
    188 	* src/aarch64/ffi.c: Clean up for double == long double.  Clean up
    189 	from Clang warnings.  Use Clang cache invalidation builtin.  Use
    190 	size_t in place of unsigned in many places.  Accommodate for
    191 	differences in Apple AArch64 ABI.
    192 
    193 2013-12-02  Daniel Rodrguez Troitio  <drodrigueztroitino (a] yahoo.es>
    194 
    195 	* generate-darwin-source-and-headers.py: Clean up, modernize,
    196 	merged version of previous scripts.
    197 
    198 2013-11-21  Anthony Green  <green (a] moxielogic.com>
    199 
    200 	* configure, Makefile.in, include/Makefile.in, include/ffi.h.in,
    201 	man/Makefile.in, testsuite/Makefile.in, fficonfig.h.in: Rebuilt.
    202 
    203 2013-11-21  Alan Modra  <amodra (a] gmail.com>
    204 
    205 	* Makefile.am (EXTRA_DIST): Add new src/powerpc files.
    206 	(nodist_libffi_la_SOURCES <POWERPC, POWERPC_FREEBSD>): Likewise.
    207 	* configure.ac (HAVE_LONG_DOUBLE_VARIANT): Define for powerpc.
    208 	* include/ffi.h.in (ffi_prep_types): Declare.
    209 	* src/prep_cif.c (ffi_prep_cif_core): Call ffi_prep_types.
    210 	* src/types.c (FFI_NONCONST_TYPEDEF): Define and use for
    211 	HAVE_LONG_DOUBLE_VARIANT.
    212 	* src/powerpc/ffi_powerpc.h: New file.
    213 	* src/powerpc/ffi.c: Split into..
    214 	* src/powerpc/ffi_sysv.c: ..new file, and..
    215 	* src/powerpc/ffi_linux64.c: ..new file, rewriting parts.
    216 	* src/powerpc/ffitarget.h (enum ffi_abi): Rewrite powerpc ABI
    217 	selection as bits controlling features.
    218 	* src/powerpc/linux64.S: For consistency, use POWERPC64 rather
    219 	than __powerpc64__.
    220 	* src/powerpc/linux64_closure.S: Likewise.
    221 	* src/powerpc/ppc_closure.S: Likewise.  Move .note.FNU-stack
    222 	inside guard.
    223 	* src/powerpc/sysv.S: Likewise.
    224 	* configure: Regenerate.
    225 	* fficonfig.h.in: Regenerate.
    226 	* Makefile.in: Regenerate.
    227 
    228 2013-11-20  Alan Modra  <amodra (a] gmail.com>
    229 
    230 	* src/powerpc/ffi.c (ffi_prep_cif_machdep_core): Use
    231 	NUM_FPR_ARG_REGISTERS64 and NUM_GPR_ARG_REGISTERS64 not their
    232 	32-bit versions for 64-bit code.
    233 	* src/powerpc/linux64_closure.S: Don't use the return value area
    234 	as a parameter save area on ELFv2.
    235 
    236 2013-11-18  Iain Sandoe  <iain (a] codesourcery.com>
    237 
    238 	* src/powerpc/darwin.S (EH): Correct use of pcrel FDE encoding.
    239 	* src/powerpc/darwin_closure.S (EH): Likewise. Modernise picbase
    240 	labels.
    241 
    242 2013-11-18  Anthony Green  <green (a] moxielogic.com>
    243 
    244 	* src/arm/ffi.c (ffi_call): Hoist declaration of temp to top of
    245 	function.
    246 	* src/arm/ffi.c (ffi_closure_inner): Moderize function declaration
    247 	to appease compiler.
    248 	Thanks for Gregory P. Smith <greg (a] krypto.org>.
    249 
    250 2013-11-18  Anthony Green  <green (a] moxielogic.com>
    251 
    252 	* README (tested): Mention PowerPC ELFv2.
    253 
    254 2013-11-16  Alan Modra  <amodra (a] gmail.com>
    255 
    256 	* src/powerpc/ppc_closure.S: Move errant #endif to where it belongs.
    257 	Don't bl .Luint128.
    258 
    259 2013-11-16  Alan Modra  <amodra (a] gmail.com>
    260 
    261 	* src/powerpc/ffi.c (ffi_prep_cif_machdep_core): Use #if _CALL_ELF
    262 	test to select parameter save sizing for ELFv2 vs. ELFv1.
    263 	* src/powerpc/ffitarget.h (FFI_V2_TYPE_FLOAT_HOMOG,
    264 	FFI_V2_TYPE_DOUBLE_HOMOG, FFI_V2_TYPE_SMALL_STRUCT): Define.
    265 	(FFI_TRAMPOLINE_SIZE): Define variant for ELFv2.
    266 	* src/powerpc/ffi.c (FLAG_ARG_NEEDS_PSAVE): Define.
    267 	(discover_homogeneous_aggregate): New function.
    268 	(ffi_prep_args64): Adjust start of param save area for ELFv2.
    269 	Handle homogenous floating point struct parms.
    270 	(ffi_prep_cif_machdep_core): Adjust space calculation for ELFv2.
    271 	Handle ELFv2 return values.  Set FLAG_ARG_NEEDS_PSAVE.  Handle
    272 	homogenous floating point structs.
    273 	(ffi_call): Increase size of smst_buffer for ELFv2.  Handle ELFv2.
    274 	(flush_icache): Compile for ELFv2.
    275 	(ffi_prep_closure_loc): Set up ELFv2 trampoline.
    276 	(ffi_closure_helper_LINUX64): Don't return all structs directly
    277 	to caller.  Handle homogenous floating point structs.  Handle
    278 	ELFv2 struct return values.
    279 	* src/powerpc/linux64.S (ffi_call_LINUX64): Set up r2 for
    280 	ELFv2.  Adjust toc save location.  Call function pointer using
    281 	r12.  Handle FLAG_RETURNS_SMST.  Don't predict branches.
    282 	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Set up r2
    283 	for ELFv2.  Define ELFv2 versions of STACKFRAME, PARMSAVE, and
    284 	RETVAL.  Handle possibly missing parameter save area.  Handle
    285 	ELFv2 return values.
    286 	(.note.GNU-stack): Move inside outer #ifdef.
    287 
    288 2013-11-16  Alan Modra  <amodra (a] gmail.com>
    289 
    290 	* src/powerpc/ffi.c (ffi_prep_cif_machdep): Revert 2013-02-08
    291 	change.  Do not consume an int arg when returning a small struct
    292 	for FFI_SYSV ABI.
    293 	(ffi_call): Only use bounce buffer when FLAG_RETURNS_SMST.
    294 	Properly copy bounce buffer to destination.
    295 	* src/powerpc/sysv.S: Revert 2013-02-08 change.
    296 	* src/powerpc/ppc_closure.S: Remove stray '+'.
    297 
    298 2013-11-16  Alan Modra  <amodra (a] gmail.com>
    299 
    300 	* src/powerpc/ffi.c (ffi_prep_args64): Align struct parameters
    301 	according to __STRUCT_PARM_ALIGN__.
    302 	(ffi_prep_cif_machdep_core): Likewise.
    303 	(ffi_closure_helper_LINUX64): Likewise.
    304 
    305 2013-11-16  Alan Modra  <amodra (a] gmail.com>
    306 
    307 	* src/powerpc/linux64.S (ffi_call_LINUX64): Tweak restore of r28.
    308 	(.note.GNU-stack): Move inside outer #ifdef.
    309 	* src/powerpc/linux64_closure.S (STACKFRAME, PARMSAVE,
    310 	RETVAL): Define and use throughout.
    311 	(ffi_closure_LINUX64): Save fprs before buying stack.
    312 	(.note.GNU-stack): Move inside outer #ifdef.
    313 
    314 2013-11-16  Alan Modra  <amodra (a] gmail.com>
    315 
    316 	* src/powerpc/ffitarget.h (FFI_TARGET_SPECIFIC_VARIADIC): Define.
    317 	(FFI_EXTRA_CIF_FIELDS): Define.
    318 	* src/powerpc/ffi.c (ffi_prep_args64): Save fprs as per the
    319 	ABI, not to both fpr and param save area.
    320 	(ffi_prep_cif_machdep_core): Renamed from ffi_prep_cif_machdep.
    321 	Keep initial flags.  Formatting.  Remove dead FFI_LINUX_SOFT_FLOAT
    322 	code.
    323 	(ffi_prep_cif_machdep, ffi_prep_cif_machdep_var): New functions.
    324 	(ffi_closure_helper_LINUX64): Pass floating point as per ABI,
    325 	not to both fpr and parameter save areas.
    326 
    327 	* libffi/testsuite/libffi.call/cls_double_va.c (main): Correct
    328 	function cast and don't call ffi_prep_cif.
    329 	* libffi/testsuite/libffi.call/cls_longdouble_va.c (main): Likewise.
    330 
    331 2013-11-15  Andrew Haley  <aph (a] redhat.com>
    332 
    333 	* doc/libffi.texi (Closure Example): Fix the sample code.
    334 	* doc/libffi.info, doc/stamp-vti, doc/version.texi: Rebuilt.
    335 
    336 2013-11-15  Andrew Haley  <aph (a] redhat.com>
    337 
    338 	* testsuite/libffi.call/va_struct1.c (main): Fix broken test.
    339 	* testsuite/libffi.call/cls_uint_va.c (cls_ret_T_fn): Likewise
    340 	* testsuite/libffi.call/cls_struct_va1.c (test_fn): Likewise.
    341 	* testsuite/libffi.call/va_1.c (main): Likewise.
    342 
    343 2013-11-14  David Schneider  <david.schneider (a] bivab.de>
    344 
    345 	* src/arm/ffi.c: Fix register allocation for mixed float and
    346 	doubles.
    347 	* testsuite/libffi.call/cls_many_mixed_float_double.c: Testcase
    348 	for many mixed float and double arguments.
    349 
    350 2013-11-13  Alan Modra  <amodra (a] gmail.com>
    351 
    352 	* doc/libffi.texi (Simple Example): Correct example code.
    353 	* doc/libffi.info, doc/stamp-vti, doc/version.texi: Rebuilt.
    354 
    355 2013-11-13  Anthony Green  <green (a] moxielogic.com>
    356 
    357 	* include/ffi_common.h: Respect HAVE_ALLOCA_H for GNU compiler
    358 	based build. (Thanks to tmr111116 on github)
    359 
    360 2013-11-09  Anthony Green  <green (a] moxielogic.com>
    361 
    362 	* m4/libtool.m4: Refresh.
    363 	* configure, Makefile.in: Rebuilt.
    364 	* README: Add more notes about next release.
    365 
    366 2013-11-09  Shigeharu TAKENO  <shige (a] iee.niit.ac.jp>
    367 
    368 	* m4/ax_gcc_archflag.m4 (ax_gcc_arch): Don't recognize
    369 	UltraSPARC-IIi as ultrasparc3.
    370 
    371 2013-11-06  Mark Kettenis  <kettenis (a] gnu.org>
    372 
    373 	* src/x86/freebsd.S (ffi_call_SYSV): Align the stack pointer to
    374         16-bytes.
    375 
    376 2013-11-06  Konstantin Belousov <kib (a] freebsd.org>
    377 
    378 	* src/x86/freebsd.S (ffi_closure_raw_SYSV): Mark the assembler
    379 	source as not requiring executable stack.
    380 
    381 2013-11-02  Anthony Green  <green (a] moxielogic.com>
    382 
    383 	* doc/libffi.texi (The Basics): Clarify return value buffer size
    384 	requirements.  Also, NULL result buffer pointers are no longer
    385 	supported.
    386 	* doc/libffi.info: Rebuilt.
    387 
    388 2013-11-02  Mischa Jonker  <mjonker (a] synopsys.com>
    389 
    390 	* Makefile.am (nodist_libffi_la_SOURCES): Fix build error.
    391 	* Makefile.in: Rebuilt.
    392 
    393 2013-11-02  David Schneider  <david.schneider (a] bivab.de>
    394 
    395 	* src/arm/ffi.c: more robust argument handling for closures on arm hardfloat
    396 	* testsuite/libffi.call/many_mixed.c: New file.
    397 	* testsuite/libffi.call/cls_many_mixed_args.c: More tests.
    398 
    399 2013-11-02  Vitaly Budovski
    400 
    401 	* src/x86/ffi.c (ffi_prep_cif_machdep): Don't align stack for win32.
    402 
    403 2013-10-23  Mark H Weaver  <mhw (a] netris.org>
    404 
    405 	* src/mips/ffi.c: Fix handling of uint32_t arguments on the
    406 	MIPS N32 ABI.
    407 
    408 2013-10-13  Sandra Loosemore  <sandra (a] codesourcery.com>
    409 
    410 	* README: Add Nios II to table of supported platforms.
    411 	* Makefile.am (EXTRA_DIST): Add nios2 files.
    412 	(nodist_libffi_la_SOURCES): Likewise.
    413 	* Makefile.in: Regenerated.
    414 	* configure.ac (nios2*-linux*): New host.
    415 	(NIOS2): Add AM_CONDITIONAL.
    416 	* configure: Regenerated.
    417 	* src/nios2/ffi.c: New.
    418 	* src/nios2/ffitarget.h: New.
    419 	* src/nios2/sysv.S: New.
    420 	* src/prep_cif.c (initialize_aggregate): Handle extra structure
    421 	alignment via FFI_AGGREGATE_ALIGNMENT.
    422 	(ffi_prep_cif_core): Conditionalize structure return for NIOS2.
    423 
    424 2013-10-10  Sandra Loosemore  <sandra (a] codesourcery.com>
    425 
    426 	* testsuite/libffi.call/cls_many_mixed_args.c (cls_ret_double_fn):
    427 	Fix uninitialized variable.
    428 
    429 2013-10-11  Marcus Shawcroft  <marcus.shawcroft (a] arm.com>
    430 
    431 	* testsuite/libffi.call/many.c (many): Replace * with +.
    432 
    433 2013-10-08  Ondej Blka  <neleai (a] seznam.cz>
    434 
    435 	* src/aarch64/ffi.c, src/aarch64/sysv.S, src/arm/ffi.c,
    436 	src/arm/gentramp.sh, src/bfin/sysv.S, src/closures.c,
    437 	src/dlmalloc.c, src/ia64/ffi.c, src/microblaze/ffi.c,
    438 	src/microblaze/sysv.S, src/powerpc/darwin_closure.S,
    439 	src/powerpc/ffi.c, src/powerpc/ffi_darwin.c, src/sh/ffi.c,
    440 	src/tile/tile.S, testsuite/libffi.call/nested_struct11.c: Fix
    441 	spelling errors.
    442 
    443 2013-10-08  Anthony Green  <green (a] moxielogic.com>
    444 
    445 	* aclocal.m4, compile, config.guess, config.sub, depcomp,
    446 	install-sh, mdate-sh, missing, texinfo.tex: Update from upstream.
    447 	* configure.ac: Update version to 3.0.14-rc0.
    448 	* Makefile.in, configure, Makefile.in, include/Makefile.in,
    449 	man/Makefile.in, testsuite/Makefile.in: Rebuilt.
    450 	* README: Mention M88K and VAX.
    451 
    452 2013-07-15  Miod Vallat  <miod (a] openbsd.org>
    453 
    454 	* Makefile.am,
    455 	configure.ac,
    456 	src/m88k/ffi.c,
    457 	src/m88k/ffitarget.h,
    458 	src/m88k/obsd.S,
    459 	src/vax/elfbsd.S,
    460 	src/vax/ffi.c,
    461 	src/vax/ffitarget.h: Add m88k and vax support.
    462 
    463 2013-06-24 Alan Modra  <amodra (a] gmail.com>
    464 
    465 	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Move var declaration
    466 	before statements.
    467 	(ffi_prep_args64): Support little-endian.
    468 	(ffi_closure_helper_SYSV, ffi_closure_helper_LINUX64): Likewise.
    469 	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Likewise.
    470 	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Likewise.
    471 
    472 2013-06-12  Mischa Jonker  <mjonker (a] synopsys.com>
    473 
    474 	 * configure.ac: Add support for ARC.
    475 	 * Makefile.am: Likewise.
    476 	 * README: Add ARC details.
    477 	 * src/arc/arcompact.S: New.
    478 	 * src/arc/ffi.c: Likewise.
    479 	 * src/arc/ffitarget.h: Likewise.
    480 
    481 2013-03-28  David Schneider  <david.schneider (a] bivab.de>
    482 
    483 	 * src/arm/ffi.c: Fix support for ARM hard-float calling convention.
    484 	 * src/arm/sysv.S: call different methods for SYSV and VFP ABIs.
    485 	 * testsuite/libffi.call/cls_many_mixed_args.c: testcase for a closure with
    486 	 mixed arguments, many doubles.
    487 	 * testsuite/libffi.call/many_double.c: testcase for calling a function using
    488 	 more than 8 doubles.
    489 	 * testcase/libffi.call/many.c: use absolute value to check result against an
    490 	 epsilon
    491 
    492 2013-03-17  Anthony Green  <green (a] moxielogic.com>
    493 
    494 	* README: Update for 3.0.13.
    495 	* configure.ac: Ditto.
    496 	* configure: Rebuilt.
    497 	* doc/*: Update version.
    498 
    499 2013-03-17  Dave Korn  <dave.korn.cygwin (a] gmail.com>
    500 
    501 	* src/closures.c (is_emutramp_enabled
    502 	[!FFI_MMAP_EXEC_EMUTRAMP_PAX]): Move default definition outside
    503 	enclosing #if scope.
    504 
    505 2013-03-17  Anthony Green  <green (a] moxielogic.com>
    506 
    507 	* configure.ac: Only modify toolexecdir in certain cases.
    508 	* configure: Rebuilt.
    509 
    510 2013-03-16  Gilles Talis  <gilles.talis (a] gmail.com>
    511 
    512 	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Don't use
    513 	fparg_count,etc on __NO_FPRS__ targets.
    514 
    515 2013-03-16  Alan Hourihane  <alanh (a] fairlite.co.uk>
    516 
    517 	* src/m68k/sysv.S (epilogue): Don't use extb instruction on
    518 	m680000 machines.
    519 
    520 2013-03-16  Alex Gaynor <alex.gaynor (a] gmail.com>
    521 
    522 	* src/x86/ffi.c (ffi_prep_cif_machdep): Always align stack.
    523 
    524 2013-03-13  Markos Chandras <markos.chandras (a] imgtec.com>
    525 
    526 	* configure.ac: Add support for Imagination Technologies Meta.
    527 	* Makefile.am: Likewise.
    528 	* README: Add Imagination Technologies Meta details.
    529 	* src/metag/ffi.c: New.
    530 	* src/metag/ffitarget.h: Likewise.
    531 	* src/metag/sysv.S: Likewise.
    532 
    533 2013-02-24  Andreas Schwab  <schwab (a] linux-m68k.org>
    534 
    535 	* doc/libffi.texi (Structures): Fix missing category argument of
    536 	@deftp.
    537 
    538 2013-02-11  Anthony Green <green (a] moxielogic.com>
    539 
    540 	* configure.ac: Update release number to 3.0.12.
    541 	* configure: Rebuilt.
    542 	* README: Update release info.
    543 
    544 2013-02-10  Anthony Green <green (a] moxielogic.com>
    545 
    546 	* README: Add Moxie.
    547 	* src/moxie/ffi.c: Created.
    548 	* src/moxie/eabi.S: Created.
    549 	* src/moxie/ffitarget.h: Created.
    550 	* Makefile.am (nodist_libffi_la_SOURCES): Add Moxie.
    551 	* Makefile.in: Rebuilt.
    552 	* configure.ac: Add Moxie.
    553 	* configure: Rebuilt.
    554 	* testsuite/libffi.call/huge_struct.c: Disable format string
    555 	warnings for moxie*-*-elf tests.
    556 
    557 2013-02-10  Anthony Green <green (a] moxielogic.com>
    558 
    559 	* Makefile.am (LTLDFLAGS): Fix reference.
    560 	* Makefile.in: Rebuilt.
    561 
    562 2013-02-10  Anthony Green <green (a] moxielogic.com>
    563 
    564 	* README: Update supported platforms.  Update test results link.
    565 
    566 2013-02-09  Anthony Green <green (a] moxielogic.com>
    567 
    568 	* testsuite/libffi.call/negint.c: Remove forced -O2.
    569 	* testsuite/libffi.call/many2.c (foo): Remove GCCism.
    570 	* testsuite/libffi.call/ffitest.h: Add default PRIuPTR definition.
    571 
    572 	* src/sparc/v8.S (ffi_closure_v8): Import ancient ulonglong
    573 	closure return type fix developed by Martin v. Lwis for cpython
    574 	fork.
    575 
    576 2013-02-08  Andreas Tobler  <andreast (a] fgznet.ch>
    577 
    578 	* src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix small struct
    579 	support.
    580 	* src/powerpc/sysv.S: Ditto.
    581 
    582 2013-02-08  Anthony Green <green (a] moxielogic.com>
    583 
    584 	* testsuite/libffi.call/cls_longdouble.c: Remove xfail for
    585 	arm*-*-*.
    586 
    587 2013-02-08  Anthony Green <green (a] moxielogic.com>
    588 
    589 	* src/sparc/ffi.c (ffi_prep_closure_loc): Fix cache flushing for GCC.
    590 
    591 2013-02-08  Matthias Klose  <doko (a] ubuntu.com>
    592 
    593 	* man/ffi_prep_cif.3: Clean up for debian linter.
    594 
    595 2013-02-08  Peter Bergner  <bergner (a] vnet.ibm.com>
    596 
    597 	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Account for FP args pushed
    598 	on the stack.
    599 
    600 2013-02-08  Anthony Green <green (a] moxielogic.com>
    601 
    602 	* Makefile.am (EXTRA_DIST): Add missing files.
    603 	* testsuite/Makefile.am (EXTRA_DIST): Ditto.
    604 	* Makefile.in: Rebuilt.
    605 
    606 2013-02-08  Anthony Green <green (a] moxielogic.com>
    607 
    608 	* configure.ac: Move sparc asm config checks to within functions
    609 	for compatibility with sun tools.
    610 	* configure: Rebuilt.
    611 	* src/sparc/ffi.c (ffi_prep_closure_loc): Flush cache on v9
    612 	systems.
    613 	* src/sparc/v8.S (ffi_flush_icache): Implement a sparc v9 cache
    614 	flusher.
    615 
    616 2013-02-08  Nathan Rossi <nathan.rossi (a] xilinx.com>
    617 
    618 	* src/microblaze/ffi.c (ffi_closure_call_SYSV): Fix handling of
    619 	small big-endian structures.
    620 	(ffi_prep_args): Ditto.
    621 
    622 2013-02-07  Anthony Green <green (a] moxielogic.com>
    623 
    624 	* src/sparc/v8.S (ffi_call_v8): Fix typo from last patch
    625 	(effectively hiding ffi_call_v8).
    626 
    627 2013-02-07  Anthony Green <green (a] moxielogic.com>
    628 
    629 	* configure.ac: Update bug reporting address.
    630 	* configure.in: Rebuild.
    631 
    632 	* src/sparc/v8.S (ffi_flush_icache): Out-of-line cache flusher for
    633 	Sun compiler.
    634 	* src/sparc/ffi.c (ffi_call): Remove warning.
    635 	Call ffi_flush_icache for non-GCC builds.
    636 	(ffi_prep_closure_loc): Use ffi_flush_icache.
    637 
    638 	* Makefile.am (EXTRA_DIST): Add libtool-ldflags.
    639 	* Makefile.in: Rebuilt.
    640 	* libtool-ldflags: New file.
    641 
    642 2013-02-07  Daniel Schepler <dschepler (a] gmail.com>
    643 
    644 	* configure.ac: Correctly identify x32 systems as 64-bit.
    645 	* m4/libtool.m4: Remove libtool expr error.
    646 	* aclocal.m4, configure: Rebuilt.
    647 
    648 2013-02-07  Anthony Green <green (a] moxielogic.com>
    649 
    650 	* configure.ac: Fix GCC usage test.
    651 	* configure: Rebuilt.
    652 	* README: Mention LLVM/GCC x86_64 issue.
    653 	* testsuite/Makefile.in: Rebuilt.
    654 
    655 2013-02-07  Anthony Green <green (a] moxielogic.com>
    656 
    657 	* testsuite/libffi.call/cls_double_va.c (main): Replace // style
    658 	comments with /* */ for xlc compiler.
    659 	* testsuite/libffi.call/stret_large.c (main): Ditto.
    660 	* testsuite/libffi.call/stret_large2.c (main): Ditto.
    661 	* testsuite/libffi.call/nested_struct1.c (main): Ditto.
    662 	* testsuite/libffi.call/huge_struct.c (main): Ditto.
    663 	* testsuite/libffi.call/float_va.c (main): Ditto.
    664 	* testsuite/libffi.call/cls_struct_va1.c (main): Ditto.
    665 	* testsuite/libffi.call/cls_pointer_stack.c (main): Ditto.
    666 	* testsuite/libffi.call/cls_pointer.c (main): Ditto.
    667 	* testsuite/libffi.call/cls_longdouble_va.c (main): Ditto.
    668 
    669 2013-02-06  Anthony Green <green (a] moxielogic.com>
    670 
    671 	* man/ffi_prep_cif.3: Clean up for debian lintian checker.
    672 
    673 2013-02-06  Anthony Green <green (a] moxielogic.com>
    674 
    675 	* Makefile.am (pkgconfigdir): Add missing pkgconfig install bits.
    676 	* Makefile.in: Rebuild.
    677 
    678 2013-02-02  Mark H Weaver <mhw (a] netris.org>
    679 
    680 	* src/x86/ffi64.c (ffi_call): Sign-extend integer arguments passed
    681 	via general purpose registers.
    682 
    683 2013-01-21  Nathan Rossi <nathan.rossi (a] xilinx.com>
    684 
    685 	* README: Add MicroBlaze details.
    686 	* Makefile.am: Add MicroBlaze support.
    687 	* configure.ac: Likewise.
    688 	* src/microblaze/ffi.c: New.
    689 	* src/microblaze/ffitarget.h: Likewise.
    690 	* src/microblaze/sysv.S: Likewise.
    691 
    692 2013-01-21  Nathan Rossi <nathan.rossi (a] xilinx.com>
    693 	* testsuite/libffi.call/return_uc.c: Fixed issue.
    694 
    695 2013-01-21  Chris Zankel   <chris (a] zankel.net>
    696 
    697 	* README: Add Xtensa support.
    698 	* Makefile.am: Likewise.
    699 	* configure.ac: Likewise.
    700 	* Makefile.in Regenerate.
    701 	* configure: Likewise.
    702 	* src/prep_cif.c: Handle Xtensa.
    703 	* src/xtensa: New directory.
    704 	* src/xtensa/ffi.c: New file.
    705 	* src/xtensa/ffitarget.h: Ditto.
    706 	* src/xtensa/sysv.S: Ditto.
    707 
    708 2013-01-11  Anthony Green  <green (a] moxielogic.com>
    709 
    710 	* src/powerpc/ffi_darwin.c (ffi_prep_args): Replace // style
    711 	comments with /* */ for xlc compiler.
    712 	* src/powerpc/aix.S (ffi_call_AIX): Ditto.
    713 	* testsuite/libffi.call/ffitest.h (allocate_mmap): Delete
    714 	deprecated inline function.
    715 	* testsuite/libffi.special/ffitestcxx.h: Ditto.
    716 	* README: Add update for AIX support.
    717 
    718 2013-01-11  Anthony Green  <green (a] moxielogic.com>
    719 
    720 	* configure.ac: Robustify pc relative reloc check.
    721 	* m4/ax_cc_maxopt.m4: Don't -malign-double.  This is an ABI
    722 	changing option for 32-bit x86.
    723 	* aclocal.m4, configure: Rebuilt.
    724 	* README: Update supported target list.
    725 
    726 2013-01-10  Anthony Green  <green (a] moxielogic.com>
    727 
    728 	* README (tested): Add Compiler column to table.
    729 
    730 2013-01-10  Anthony Green  <green (a] moxielogic.com>
    731 
    732 	* src/x86/ffi64.c (struct register_args): Make sse array and array
    733 	of unions for sunpro compiler compatibility.
    734 
    735 2013-01-10  Anthony Green  <green (a] moxielogic.com>
    736 
    737 	* configure.ac: Test target platform size_t size.  Handle both 32
    738 	and 64-bit builds for x86_64-* and i?86-* targets (allowing for
    739 	CFLAG option to change default settings).
    740 	* configure, aclocal.m4: Rebuilt.
    741 
    742 2013-01-10  Anthony Green  <green (a] moxielogic.com>
    743 
    744 	* testsuite/libffi.special/special.exp: Only run exception
    745 	handling tests when using GNU compiler.
    746 
    747 	* m4/ax_compiler_vendor.m4: New file.
    748 	* configure.ac: Test for compiler vendor and don't use
    749 	AX_CFLAGS_WARN_ALL with the sun compiler.
    750 	* aclocal.m4, configure: Rebuilt.
    751 
    752 2013-01-10  Anthony Green  <green (a] moxielogic.com>
    753 
    754 	* include/ffi_common.h: Don't use GCCisms to define types when
    755 	building with the SUNPRO compiler.
    756 
    757 2013-01-10  Anthony Green  <green (a] moxielogic.com>
    758 
    759 	* configure.ac: Put local.exp in the right place.
    760 	* configure: Rebuilt.
    761 
    762 	* src/x86/ffi.c: Update comment about regparm function attributes.
    763 	* src/x86/sysv.S (ffi_closure_SYSV): The SUNPRO compiler requires
    764 	that all function arguments be passed on the stack (no regparm
    765 	support).
    766 
    767 2013-01-08  Anthony Green  <green (a] moxielogic.com>
    768 
    769 	* configure.ac: Generate local.exp.  This sets CC_FOR_TARGET
    770 	when we are using the vendor compiler.
    771 	* testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): Point to
    772 	../local.exp.
    773 	* configure, testsuite/Makefile.in: Rebuilt.
    774 
    775 	* testsuite/libffi.call/call.exp: Run tests with different
    776 	options, depending on whether or not we are using gcc or the
    777 	vendor compiler.
    778 	* testsuite/lib/libffi.exp (libffi-init): Set using_gcc based on
    779 	whether or not we are building/testing with gcc.
    780 
    781 2013-01-08  Anthony Green  <green (a] moxielogic.com>
    782 
    783 	* configure.ac: Switch x86 solaris target to X86 by default.
    784 	* configure: Rebuilt.
    785 
    786 2013-01-08  Anthony Green  <green (a] moxielogic.com>
    787 
    788 	* configure.ac: Fix test for read-only eh_frame.
    789 	* configure: Rebuilt.
    790 
    791 2013-01-08  Anthony Green  <green (a] moxielogic.com>
    792 
    793 	* src/x86/sysv.S, src/x86/unix64.S: Only emit DWARF unwind info
    794 	when building with the GNU toolchain.
    795 	* testsuite/libffi.call/ffitest.h (CHECK): Fix for Solaris vendor
    796 	compiler.
    797 
    798 2013-01-07  Thorsten Glaser <tg (a] mirbsd.org>
    799 
    800 	* testsuite/libffi.call/cls_uchar_va.c,
    801 	testsuite/libffi.call/cls_ushort_va.c,
    802 	testsuite/libffi.call/va_1.c: Testsuite fixes.
    803 
    804 2013-01-07  Thorsten Glaser <tg (a] mirbsd.org>
    805 
    806 	* src/m68k/ffi.c (CIF_FLAGS_SINT8, CIF_FLAGS_SINT16): Define.
    807 	(ffi_prep_cif_machdep): Fix 8-bit and 16-bit signed calls.
    808 	* src/m68k/sysv.S (ffi_call_SYSV, ffi_closure_SYSV): Ditto.
    809 
    810 2013-01-04  Anthony Green  <green (a] moxielogic.com>
    811 
    812 	* Makefile.am (AM_CFLAGS): Don't automatically add -fexceptions
    813 	and -Wall.  This is set in the configure script after testing for
    814 	GCC.
    815 	* Makefile.in: Rebuilt.
    816 
    817 2013-01-02  rofl0r <https://github.com/rofl0r>
    818 
    819 	* src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix build error on ppc
    820 	when long double == double.
    821 
    822 2013-01-02  Reini Urban  <rurban (a] x-ray.at>
    823 
    824 	* Makefile.am (libffi_la_LDFLAGS): Add -no-undefined to LDFLAGS
    825 	(required for shared libs on cygwin/mingw).
    826 	* Makefile.in: Rebuilt.
    827 
    828 2012-10-31  Alan Modra  <amodra (a] gmail.co>
    829 
    830 	* src/powerpc/linux64_closure.S: Add new ABI support.
    831 	* src/powerpc/linux64.S: Likewise.
    832 
    833 2012-10-30  Magnus Granberg  <zorry (a] gentoo.org>
    834 	    Pavel Labushev  <pavel.labushev (a] runbox.ru>
    835 
    836 	* configure.ac: New options pax_emutramp
    837 	* configure, fficonfig.h.in: Regenerated
    838 	* src/closures.c: New function emutramp_enabled_check() and
    839 	checks.
    840 
    841 2012-10-30  Frederick Cheung  <frederick.cheung (a] gmail.com>
    842 
    843 	* configure.ac: Enable FFI_MAP_EXEC_WRIT for Darwin 12 (mountain
    844 	lion) and future version.
    845 	* configure: Rebuild.
    846 
    847 2012-10-30  James Greenhalgh  <james.greenhalgh at arm.com>
    848             Marcus Shawcroft  <marcus.shawcroft at arm.com>
    849 
    850         * README: Add details of aarch64 port.
    851         * src/aarch64/ffi.c: New.
    852         * src/aarch64/ffitarget.h: Likewise.
    853         * src/aarch64/sysv.S: Likewise.
    854 	* Makefile.am: Support aarch64.
    855 	* configure.ac: Support aarch64.
    856 	* Makefile.in, configure: Rebuilt.
    857 
    858 2012-10-30  James Greenhalgh  <james.greenhalgh at arm.com>
    859             Marcus Shawcroft  <marcus.shawcroft at arm.com>
    860 
    861         * testsuite/lib/libffi.exp: Add support for aarch64.
    862         * testsuite/libffi.call/cls_struct_va1.c: New.
    863         * testsuite/libffi.call/cls_uchar_va.c: Likewise.
    864         * testsuite/libffi.call/cls_uint_va.c: Likewise.
    865         * testsuite/libffi.call/cls_ulong_va.c: Likewise.
    866         * testsuite/libffi.call/cls_ushort_va.c: Likewise.
    867         * testsuite/libffi.call/nested_struct11.c: Likewise.
    868         * testsuite/libffi.call/uninitialized.c: Likewise.
    869         * testsuite/libffi.call/va_1.c: Likewise.
    870         * testsuite/libffi.call/va_struct1.c: Likewise.
    871         * testsuite/libffi.call/va_struct2.c: Likewise.
    872         * testsuite/libffi.call/va_struct3.c: Likewise.
    873 
    874 2012-10-12  Walter Lee  <walt (a] tilera.com>
    875 
    876         * Makefile.am: Add TILE-Gx/TILEPro support.
    877         * configure.ac: Likewise.
    878         * Makefile.in: Regenerate.
    879         * configure: Likewise.
    880         * src/prep_cif.c (ffi_prep_cif_core): Handle TILE-Gx/TILEPro.
    881         * src/tile: New directory.
    882         * src/tile/ffi.c: New file.
    883         * src/tile/ffitarget.h: Ditto.
    884         * src/tile/tile.S: Ditto.
    885 
    886 2012-10-12  Matthias Klose  <doko (a] ubuntu.com>
    887 
    888 	* generate-osx-source-and-headers.py: Normalize whitespace.
    889 
    890 2012-09-14  David Edelsohn  <dje.gcc (a] gmail.com>
    891 
    892 	* configure: Regenerated.
    893 
    894 2012-08-26  Andrew Pinski  <apinski (a] cavium.com>
    895 
    896 	PR libffi/53014
    897 	* src/mips/ffi.c (ffi_prep_closure_loc): Allow n32 with soft-float and n64 with
    898 	soft-float.
    899 
    900 2012-08-08  Uros Bizjak  <ubizjak (a] gmail.com>
    901 
    902 	* src/s390/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
    903 	just return FFI_BAD_ABI when things are wrong.
    904 
    905 2012-07-18  H.J. Lu  <hongjiu.lu (a] intel.com>
    906 
    907 	PR libffi/53982
    908 	PR libffi/53973
    909 	* src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for x32.
    910 	(FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32.
    911 
    912 2012-05-16  H.J. Lu  <hongjiu.lu (a] intel.com>
    913 
    914 	* configure: Regenerated.
    915 
    916 2012-05-05  Nicolas Lelong
    917 
    918 	* libffi.xcodeproj/project.pbxproj: Fixes.
    919 	* README: Update for iOS builds.
    920 
    921 2012-04-23  Alexandre Keunecke I. de Mendonca <alexandre.keunecke (a] gmail.com>
    922 
    923 	* configure.ac: Add Blackfin/sysv support
    924 	* Makefile.am: Add Blackfin/sysv support
    925 	* src/bfin/ffi.c:  Add Blackfin/sysv support
    926 	* src/bfin/ffitarget.h: Add Blackfin/sysv support
    927 
    928 2012-04-11  Anthony Green  <green (a] moxielogic.com>
    929 
    930 	* Makefile.am (EXTRA_DIST): Add new script.
    931 	* Makefile.in: Rebuilt.
    932 
    933 2012-04-11  Zachary Waldowski  <zwaldowski (a] gmail.com>
    934 
    935 	* generate-ios-source-and-headers.py,
    936 	libffi.xcodeproj/project.pbxproj: Support a Mac static library via
    937 	Xcode. Set iOS compatibility to 4.0.  Move iOS trampoline
    938 	generation into an Xcode "run script" phase.  Include both as
    939 	Xcode build scripts. Don't always regenerate config files.
    940 
    941 2012-04-10  Anthony Green  <green (a] moxielogic.com>
    942 
    943 	* src/powerpc/ffi_darwin.c (ffi_prep_args): Add missing semicolon.
    944 
    945 2012-04-06  Anthony Green  <green (a] moxielogic.com>
    946 
    947 	* Makefile.am (EXTRA_DIST): Add new iOS/xcode files.
    948 	* Makefile.in: Rebuilt.
    949 
    950 2012-04-06  Mike Lewis  <mikelikespie (a] gmail.com>
    951 
    952 	* generate-ios-source-and-headers.py: New file.
    953 	* libffi.xcodeproj/project.pbxproj: New file.
    954 	* README: Update instructions on building iOS binary.
    955 	* build-ios.sh: Delete.
    956 
    957 2012-04-06  Anthony Green  <green (a] moxielogic.com>
    958 
    959 	* src/x86/ffi64.c (UINT128): Define differently for Intel and GNU
    960 	compilers, then use it.
    961 
    962 2012-04-06  H.J. Lu  <hongjiu.lu (a] intel.com>
    963 
    964 	* m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32.
    965 
    966 2012-04-06  Anthony Green  <green (a] moxielogic.com>
    967 
    968 	* testsuite/Makefile.am (EXTRA_DIST): Add missing test cases.
    969 	* testsuite/Makefile.in: Rebuilt.
    970 
    971 2012-04-05  Zachary Waldowski  <zwaldowski (a] gmail.com>
    972 
    973 	* include/ffi.h.in: Add missing trampoline table fields.
    974 	* src/arm/sysv.S: Fix ENTRY definition, and wrap symbol references
    975 	in CNAME.
    976 	* src/x86/ffi.c: Wrap Windows specific code in ifdefs.
    977 
    978 2012-04-02  Peter Bergner  <bergner (a] vnet.ibm.com>
    979 
    980 	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Declare double_tmp.
    981 	Silence casting pointer to integer of different size warning.
    982 	Delete goto to previously deleted label.
    983 	(ffi_call): Silence possibly undefined warning.
    984 	(ffi_closure_helper_SYSV): Declare variable type.
    985 
    986 2012-04-02  Peter Rosin  <peda (a] lysator.liu.se>
    987 
    988 	* src/x86/win32.S (ffi_call_win32): Sign/zero extend the return
    989 	value in the Intel version as is already done for the AT&T version.
    990 	(ffi_closure_SYSV): Likewise.
    991 	(ffi_closure_raw_SYSV): Likewise.
    992 	(ffi_closure_STDCALL): Likewise.
    993 
    994 2012-03-29  Peter Rosin  <peda (a] lysator.liu.se>
    995 
    996 	* src/x86/win32.S (ffi_closure_raw_THISCALL): Unify the frame
    997 	generation, fix the ENDP label and remove the surplus third arg
    998 	from the 'lea' insn.
    999 
   1000 2012-03-29  Peter Rosin  <peda (a] lysator.liu.se>
   1001 
   1002 	* src/x86/win32.S (ffi_closure_raw_SYSV): Make the 'stubraw' label
   1003 	visible outside the PROC, so that ffi_closure_raw_THISCALL can see
   1004 	it.  Also instruct the assembler to add a frame to the function.
   1005 
   1006 2012-03-23  Peter Rosin  <peda (a] lysator.liu.se>
   1007 
   1008 	* Makefile.am (AM_CPPFLAGS): Add -DFFI_BUILDING.
   1009 	* Makefile.in: Rebuilt.
   1010 	* include/ffi.h.in [MSVC]: Add __declspec(dllimport) decorations
   1011 	to all data exports, when compiling libffi clients using MSVC.
   1012 
   1013 2012-03-29  Peter Rosin  <peda (a] lysator.liu.se>
   1014 
   1015 	* src/x86/ffitarget.h (ffi_abi): Add new ABI FFI_MS_CDECL and
   1016 	make it the default for MSVC.
   1017 	(FFI_TYPE_MS_STRUCT): New structure return convention.
   1018 	* src/x86/ffi.c (ffi_prep_cif_machdep): Tweak the structure
   1019 	return convention for FFI_MS_CDECL to be FFI_TYPE_MS_STRUCT
   1020 	instead of an ordinary FFI_TYPE_STRUCT.
   1021 	(ffi_prep_args): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
   1022 	(ffi_call): Likewise.
   1023 	(ffi_prep_incoming_args_SYSV): Likewise.
   1024 	(ffi_raw_call): Likewise.
   1025 	(ffi_prep_closure_loc): Treat FFI_MS_CDECL as FFI_SYSV.
   1026 	* src/x86/win32.S (ffi_closure_SYSV): For FFI_TYPE_MS_STRUCT,
   1027 	return a pointer to the result structure in eax and don't pop
   1028 	that pointer from the stack, the caller takes care of it.
   1029 	(ffi_call_win32): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
   1030 	(ffi_closure_raw_SYSV): Likewise.
   1031 
   1032 2012-03-22  Peter Rosin  <peda (a] lysator.liu.se>
   1033 
   1034 	* testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline
   1035 	assembly version with Intel syntax.
   1036 	* testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise.
   1037 
   1038 2012-03-23  Peter Rosin  <peda (a] lysator.liu.se>
   1039 
   1040 	* testsuite/libffi.call/ffitest.h: Provide abstration of
   1041 	__attribute__((fastcall)) in the form of a __FASTCALL__
   1042 	define.  Define it to __fastcall for MSVC.
   1043 	* testsuite/libffi.call/fastthis1_win32.c: Use the above.
   1044 	* testsuite/libffi.call/fastthis2_win32.c: Likewise.
   1045 	* testsuite/libffi.call/fastthis3_win32.c: Likewise.
   1046 	* testsuite/libffi.call/strlen2_win32.c: Likewise.
   1047 	* testsuite/libffi.call/struct1_win32.c: Likewise.
   1048 	* testsuite/libffi.call/struct2_win32.c: Likewise.
   1049 
   1050 2012-03-22  Peter Rosin  <peda (a] lysator.liu.se>
   1051 
   1052 	* src/x86/win32.S [MSVC] (ffi_closure_THISCALL): Remove the manual
   1053 	frame on function entry, MASM adds one automatically.
   1054 
   1055 2012-03-22  Peter Rosin  <peda (a] lysator.liu.se>
   1056 
   1057 	* testsuite/libffi.call/ffitest.h [MSVC]: Add kludge for missing
   1058 	bits in the MSVC headers.
   1059 
   1060 2012-03-22  Peter Rosin  <peda (a] lysator.liu.se>
   1061 
   1062 	* testsuite/libffi.call/cls_12byte.c: Adjust to the C89 style
   1063 	with no declarations after statements.
   1064 	* testsuite/libffi.call/cls_16byte.c: Likewise.
   1065 	* testsuite/libffi.call/cls_18byte.c: Likewise.
   1066 	* testsuite/libffi.call/cls_19byte.c: Likewise.
   1067 	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
   1068 	* testsuite/libffi.call/cls_20byte.c: Likewise.
   1069 	* testsuite/libffi.call/cls_20byte1.c: Likewise.
   1070 	* testsuite/libffi.call/cls_24byte.c: Likewise.
   1071 	* testsuite/libffi.call/cls_2byte.c: Likewise.
   1072 	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
   1073 	* testsuite/libffi.call/cls_3byte1.c: Likewise.
   1074 	* testsuite/libffi.call/cls_3byte2.c: Likewise.
   1075 	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
   1076 	* testsuite/libffi.call/cls_4byte.c: Likewise.
   1077 	* testsuite/libffi.call/cls_5_1_byte.c: Likewise.
   1078 	* testsuite/libffi.call/cls_5byte.c: Likewise.
   1079 	* testsuite/libffi.call/cls_64byte.c: Likewise.
   1080 	* testsuite/libffi.call/cls_6_1_byte.c: Likewise.
   1081 	* testsuite/libffi.call/cls_6byte.c: Likewise.
   1082 	* testsuite/libffi.call/cls_7_1_byte.c: Likewise.
   1083 	* testsuite/libffi.call/cls_7byte.c: Likewise.
   1084 	* testsuite/libffi.call/cls_8byte.c: Likewise.
   1085 	* testsuite/libffi.call/cls_9byte1.c: Likewise.
   1086 	* testsuite/libffi.call/cls_9byte2.c: Likewise.
   1087 	* testsuite/libffi.call/cls_align_double.c: Likewise.
   1088 	* testsuite/libffi.call/cls_align_float.c: Likewise.
   1089 	* testsuite/libffi.call/cls_align_longdouble.c: Likewise.
   1090 	* testsuite/libffi.call/cls_align_longdouble_split.c: Likewise.
   1091 	* testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
   1092 	* testsuite/libffi.call/cls_align_pointer.c: Likewise.
   1093 	* testsuite/libffi.call/cls_align_sint16.c: Likewise.
   1094 	* testsuite/libffi.call/cls_align_sint32.c: Likewise.
   1095 	* testsuite/libffi.call/cls_align_sint64.c: Likewise.
   1096 	* testsuite/libffi.call/cls_align_uint16.c: Likewise.
   1097 	* testsuite/libffi.call/cls_align_uint32.c: Likewise.
   1098 	* testsuite/libffi.call/cls_align_uint64.c: Likewise.
   1099 	* testsuite/libffi.call/cls_dbls_struct.c: Likewise.
   1100 	* testsuite/libffi.call/cls_pointer_stack.c: Likewise.
   1101 	* testsuite/libffi.call/err_bad_typedef.c: Likewise.
   1102 	* testsuite/libffi.call/huge_struct.c: Likewise.
   1103 	* testsuite/libffi.call/nested_struct.c: Likewise.
   1104 	* testsuite/libffi.call/nested_struct1.c: Likewise.
   1105 	* testsuite/libffi.call/nested_struct10.c: Likewise.
   1106 	* testsuite/libffi.call/nested_struct2.c: Likewise.
   1107 	* testsuite/libffi.call/nested_struct3.c: Likewise.
   1108 	* testsuite/libffi.call/nested_struct4.c: Likewise.
   1109 	* testsuite/libffi.call/nested_struct5.c: Likewise.
   1110 	* testsuite/libffi.call/nested_struct6.c: Likewise.
   1111 	* testsuite/libffi.call/nested_struct7.c: Likewise.
   1112 	* testsuite/libffi.call/nested_struct8.c: Likewise.
   1113 	* testsuite/libffi.call/nested_struct9.c: Likewise.
   1114 	* testsuite/libffi.call/stret_large.c: Likewise.
   1115 	* testsuite/libffi.call/stret_large2.c: Likewise.
   1116 	* testsuite/libffi.call/stret_medium.c: Likewise.
   1117 	* testsuite/libffi.call/stret_medium2.c: Likewise.
   1118 	* testsuite/libffi.call/struct1.c: Likewise.
   1119 	* testsuite/libffi.call/struct1_win32.c: Likewise.
   1120 	* testsuite/libffi.call/struct2.c: Likewise.
   1121 	* testsuite/libffi.call/struct2_win32.c: Likewise.
   1122 	* testsuite/libffi.call/struct3.c: Likewise.
   1123 	* testsuite/libffi.call/struct4.c: Likewise.
   1124 	* testsuite/libffi.call/struct5.c: Likewise.
   1125 	* testsuite/libffi.call/struct6.c: Likewise.
   1126 	* testsuite/libffi.call/struct7.c: Likewise.
   1127 	* testsuite/libffi.call/struct8.c: Likewise.
   1128 	* testsuite/libffi.call/struct9.c: Likewise.
   1129 	* testsuite/libffi.call/testclosure.c: Likewise.
   1130 
   1131 2012-03-21  Peter Rosin	 <peda (a] lysator.liu.se>
   1132 
   1133 	* testsuite/libffi.call/float_va.c (float_va_fn): Use %f when
   1134 	printing doubles (%lf is for long doubles).
   1135 	(main): Likewise.
   1136 
   1137 2012-03-21  Peter Rosin  <peda (a] lysator.liu.se>
   1138 
   1139 	* testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
   1140 	(set_ld_library_path_env_vars): Add the library search dir to PATH
   1141 	(and save PATH for later).
   1142 	(restore_ld_library_path_env_vars): Restore PATH.
   1143 
   1144 2012-03-21  Peter Rosin  <peda (a] lysator.liu.se>
   1145 
   1146 	* testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
   1147 	(set_ld_library_path_env_vars): Add the library search dir to PATH
   1148 	(and save PATH for later).
   1149 	(restore_ld_library_path_env_vars): Restore PATH.
   1150 
   1151 2012-03-20  Peter Rosin  <peda (a] lysator.liu.se>
   1152 
   1153 	* testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
   1154 	* src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
   1155 	visible outside the PROC, so that ffi_closure_THISCALL can see it.
   1156 
   1157 2012-03-20  Peter Rosin  <peda (a] lysator.liu.se>
   1158 
   1159 	* testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
   1160 	* src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
   1161 	visible outside the PROC, so that ffi_closure_THISCALL can see it.
   1162 
   1163 2012-03-19  Alan Hourihane  <alanh (a] fairlite.co.uk>
   1164 
   1165 	* src/m68k/ffi.c: Add MINT support.
   1166 	* src/m68k/sysv.S: Ditto.
   1167 
   1168 2012-03-06  Chung-Lin Tang  <cltang (a] codesourcery.com>
   1169 
   1170 	* src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to
   1171 	ffi_call_VFP().
   1172 	(ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of
   1173 	ffi_closure_VFP.
   1174 	* src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code.
   1175 
   1176 2012-03-19  chennam  <csit (a] axway.com>
   1177 
   1178 	* src/powerpc/ffi_darwin.c (ffi_prep_closure_loc): Fix AIX closure
   1179 	support.
   1180 
   1181 2012-03-13  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   1182 
   1183 	* src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
   1184 	just return FFI_BAD_ABI when things are wrong.
   1185 	* src/sh64/ffi.c (ffi_prep_closure_loc): Ditto.
   1186 
   1187 2012-03-09  David Edelsohn  <dje.gcc (a] gmail.com>
   1188 
   1189 	* src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64
   1190 	change to return value of ffi_closure_helper_DARWIN and load type
   1191 	from return type.
   1192 
   1193 2012-03-03  H.J. Lu  <hongjiu.lu (a] intel.com>
   1194 
   1195 	* src/x86/ffi64.c (ffi_call): Cast the return value to unsigned
   1196 	long.
   1197 	(ffi_prep_closure_loc): Cast to 64bit address in trampoline.
   1198 	(ffi_closure_unix64_inner): Cast return pointer to unsigned long
   1199 	first.
   1200 
   1201 	* src/x86/ffitarget.h (FFI_SIZEOF_ARG): Defined to 8 for x32.
   1202 	(ffi_arg): Set to unsigned long long for x32.
   1203 	(ffi_sarg): Set to long long for x32.
   1204 
   1205 2012-03-03  H.J. Lu  <hongjiu.lu (a] intel.com>
   1206 
   1207 	* src/prep_cif.c (ffi_prep_cif_core): Properly check bad ABI.
   1208 
   1209 2012-03-03  Andoni Morales Alastruey  <ylatuya (a] gmail.com>
   1210 
   1211 	* configure.ac: Add -no-undefined for both 32- and 64-bit x86
   1212 	windows-like hosts.
   1213 	* configure: Rebuilt.
   1214 
   1215 2012-02-27  Mikael Pettersson  <mikpe (a] it.uu.se>
   1216 
   1217 	PR libffi/52223
   1218 	* Makefile.am (FLAGS_TO_PASS): Define.
   1219 	* Makefile.in: Regenerate.
   1220 
   1221 2012-02-23  Anthony Green  <green (a] moxielogic.com>
   1222 
   1223 	* src/*/ffitarget.h: Ensure that users never include ffitarget.h
   1224 	directly.
   1225 
   1226 2012-02-23  Kai Tietz  <ktietz (a] redhat.com>
   1227 
   1228 	PR libffi/52221
   1229 	* src/x86/ffi.c (ffi_closure_raw_THISCALL): New
   1230 	prototype.
   1231 	(ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for
   1232 	thiscall-convention.
   1233 	(ffi_raw_call): Use ffi_prep_args_raw.
   1234 	* src/x86/win32.S (ffi_closure_raw_THISCALL): Add
   1235 	implementation for stub.
   1236 
   1237 2012-02-10  Kai Tietz  <ktietz (a] redhat.com>
   1238 
   1239 	* configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
   1240 	windows target.
   1241 	* configure: Regenerated.
   1242 
   1243 2012-02-08  Kai Tietz  <ktietz (a] redhat.com>
   1244 
   1245 	* src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
   1246 	also FFI_THISCALL.
   1247 	* src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
   1248 	(FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
   1249 	(ffi_prep_closure_loc): Add FFI_THISCALL support.
   1250 	* src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
   1251 	* src/x86/win32.S (ffi_closure_THISCALL): New closure code
   1252 	for thiscall-calling convention.
   1253 	* testsuite/libffi.call/closure_thiscall.c: New test.
   1254 
   1255 2012-01-28  Kai Tietz  <ktietz (a] redhat.com>
   1256 
   1257 	* src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
   1258 	argument to prototype for specify calling-convention.
   1259 	(ffi_call): Add support for stdcall/thiscall convention.
   1260 	(ffi_prep_args): Likewise.
   1261 	(ffi_raw_call): Likewise.
   1262 	* src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
   1263 	FFI_FASTCALL.
   1264 	* src/x86/win32.S (_ffi_call_win32): Add support for
   1265 	fastcall/thiscall calling-convention calls.
   1266 	* testsuite/libffi.call/fastthis1_win32.c: New test.
   1267 	* testsuite/libffi.call/fastthis2_win32.c: New test.
   1268 	* testsuite/libffi.call/fastthis3_win32.c: New test.
   1269 	* testsuite/libffi.call/strlen2_win32.c: New test.
   1270 	* testsuite/libffi.call/many2_win32.c: New test.
   1271 	* testsuite/libffi.call/struct1_win32.c: New test.
   1272 	* testsuite/libffi.call/struct2_win32.c: New test.
   1273 
   1274 2012-01-23  Uros Bizjak  <ubizjak (a] gmail.com>
   1275 
   1276 	* src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
   1277 
   1278 2012-01-23  Anthony Green  <green (a] moxielogic.com>
   1279 	    Chris Young  <cdyoung (a] ntlworld.com>
   1280 
   1281 	* configure.ac: Add Amiga support.
   1282 	* configure: Rebuilt.
   1283 
   1284 2012-01-23  Dmitry Nadezhin  <dmitry.nadezhin (a] gmail.com>
   1285 
   1286 	* include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
   1287 
   1288 2012-01-23  Andreas Schwab  <schwab (a] linux-m68k.org>
   1289 
   1290 	* src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
   1291 	mc68000.  Test for __HAVE_68881__ in addition to __MC68881__.
   1292 
   1293 2012-01-19  Jakub Jelinek  <jakub (a] redhat.com>
   1294 
   1295 	PR rtl-optimization/48496
   1296 	* src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
   1297 
   1298 2012-01-09  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1299 
   1300 	* configure.ac (i?86-*-*): Set TARGET to X86_64.
   1301 	* configure: Regenerate.
   1302 
   1303 2011-12-07  Andrew Pinski  <apinski (a] cavium.com>
   1304 
   1305 	PR libffi/50051
   1306 	* src/mips/n32.S: Add ".set mips4".
   1307 
   1308 2011-11-21  Andreas Tobler  <andreast (a] fgznet.ch>
   1309 
   1310 	* configure: Regenerate.
   1311 
   1312 2011-11-12  David Gilbert <david.gilbert (a] linaro.org>
   1313 
   1314 	* doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
   1315 	man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
   1316 	man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
   1317 	src/cris/ffi.c, src/prep_cif.c,
   1318 	testsuite/libffi.call/cls_double_va.c,
   1319 	testsuite/libffi.call/cls_longdouble_va.c,
   1320 	testsuite/libffi.call/float_va.c: Many changes to support variadic
   1321 	function calls.
   1322 
   1323 2011-11-12  Kyle Moffett <Kyle.D.Moffett (a] boeing.com>
   1324 
   1325 	* src/powerpc/ffi.c, src/powerpc/ffitarget.h,
   1326 	src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
   1327 	softfloat powerpc variants.
   1328 
   1329 2011-11-12  Petr Salinger <Petr.Salinger (a] seznam.cz>
   1330 
   1331 	* configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
   1332 	* configure: Rebuilt.
   1333 
   1334 2011-11-12  Timothy Wall  <twall (a] users.sf.net>
   1335 
   1336 	* src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
   1337 	alignment of 4 for wince on ARM.
   1338 
   1339 2011-11-12  Kyle Moffett <Kyle.D.Moffett (a] boeing.com>
   1340 	    Anthony Green <green (a] moxielogic.com>
   1341 
   1342 	* src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
   1343 	instructions (not available on some cores, like the PPC440).
   1344 
   1345 2011-11-12  Kimura Wataru  <kimuraw (a] i.nifty.jp>
   1346 
   1347 	* m4/ax_enable_builddir: Change from string comparison to numeric
   1348 	comparison for wc output.
   1349 	* configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
   1350 	X 10.7.
   1351 	* configure: Rebuilt.
   1352 
   1353 2011-11-12  Anthony Green  <green (a] moxielogic.com>
   1354 
   1355 	* Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
   1356 	files with debug info.
   1357 	* Makefile.in: Rebuilt.
   1358 
   1359 2011-11-12  Jasper Lievisse Adriaanse <jasper (a] openbsd.org>
   1360 
   1361 	* README: Update list of supported OpenBSD systems.
   1362 
   1363 2011-11-12  Anthony Green  <green (a] moxielogic.com>
   1364 
   1365 	* libtool-version: Update.
   1366 	* Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
   1367 	FFI_DEBUG.
   1368 	(libffi_la_SOURCES): Remove src/debug.c
   1369 	(EXTRA_DIST): Add src/debug.c
   1370 	* Makefile.in: Rebuilt.
   1371 	* README: Update for 3.0.11.
   1372 
   1373 2011-11-10  Richard Henderson  <rth (a] redhat.com>
   1374 
   1375 	* configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
   1376 	* configure, aclocal.m4: Rebuild.
   1377 
   1378 2011-09-04  Iain Sandoe  <iains (a] gcc.gnu.org>
   1379 
   1380 	PR libffi/49594
   1381 	* src/powerpc/darwin_closure.S (stubs): Make the stub binding
   1382 	helper reference track the architecture pointer size.
   1383 
   1384 2011-08-25  Andrew Haley  <aph (a] redhat.com>
   1385 
   1386 	* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
   1387 	instructions.
   1388 	* src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
   1389 
   1390 2011-07-11  Andrew Haley  <aph (a] redhat.com>
   1391 
   1392         * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
   1393 
   1394 2011-06-29  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1395 
   1396 	* testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
   1397 	* testsuite/libffi.call/cls_longdouble_va.c: Likewise.
   1398 
   1399 2011-06-29  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1400 
   1401 	PR libffi/46660
   1402 	* testsuite/libffi.call/cls_double_va.c: xfail dg-output on
   1403 	mips-sgi-irix6*.
   1404 	* testsuite/libffi.call/cls_longdouble_va.c: Likewise.
   1405 
   1406 2011-06-14  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1407 
   1408 	* testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
   1409 	PRId8 instead of %hhu, %hhd.
   1410 	* testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
   1411 	PRIu8): Define.
   1412 	[__sgi__] (PRId8, PRIu8): Define.
   1413 
   1414 2011-04-29  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1415 
   1416 	* src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
   1417 	Define.
   1418 	Use them to handle ELF vs. ECOFF differences.
   1419 	[__osf__] (_GLOBAL__F_ffi_call_osf): Define.
   1420 
   1421 2011-03-30  Timothy Wall  <twall (a] users.sf.net>
   1422 
   1423 	* src/powerpc/darwin.S: Fix unknown FDE encoding.
   1424 	* src/powerpc/darwin_closure.S: ditto.
   1425 
   1426 2011-02-25  Anthony Green  <green (a] moxielogic.com>
   1427 
   1428 	* src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
   1429 	32-bit ABIs.
   1430 
   1431 2011-02-15  Anthony Green  <green (a] moxielogic.com>
   1432 
   1433 	* m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
   1434 	* configure: Rebuilt.
   1435 
   1436 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   1437 
   1438 	* configure: Regenerate.
   1439 
   1440 2011-02-13  Anthony Green  <green (a] moxielogic.com>
   1441 
   1442 	* include/ffi_common.h (UNLIKELY, LIKELY): Define.
   1443 	* src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
   1444 	* src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
   1445 
   1446 	* src/prep_cif.c (initialize_aggregate): Convert assertion into
   1447 	FFI_BAD_TYPEDEF return.  Initialize arg size and alignment to 0.
   1448 
   1449 	* src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
   1450 	just return FFI_BAD_ABI when things are wrong.
   1451 	* src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
   1452 	* src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
   1453 	* src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
   1454 	* src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
   1455 	* src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
   1456 
   1457 2011-02-11  Anthony Green  <green (a] moxielogic.com>
   1458 
   1459 	* src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
   1460 	just return FFI_BAD_ABI when things are wrong.
   1461 
   1462 2012-02-11  Eric Botcazou  <ebotcazou (a] adacore.com>
   1463 
   1464 	* src/sparc/v9.S (STACKFRAME): Bump to 176.
   1465 
   1466 2011-02-09  Stuart Shelton  <srcshelton (a] gmail.com>
   1467 
   1468 	http://bugs.gentoo.org/show_bug.cgi?id=286911
   1469 	* src/mips/ffitarget.h: Clean up error messages.
   1470 	* src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
   1471 	ffi_raw*.
   1472 	* include/ffi.h.in: Add pragma for SGI compiler.
   1473 
   1474 2011-02-09  Anthony Green  <green (a] moxielogic.com>
   1475 
   1476 	* configure.ac: Add powerpc64-*-darwin* support.
   1477 
   1478 2011-02-09  Anthony Green <green (a] moxielogic.com>
   1479 
   1480 	* README: Mention Interix.
   1481 
   1482 2011-02-09  Jonathan Callen  <abcd (a] gentoo.org>
   1483 
   1484 	* configure.ac: Add Interix to win32/cygwin/mingw case.
   1485 	* configure: Ditto.
   1486 	* src/closures.c: Treat Interix like Cygwin, instead of as a
   1487 	generic win32.
   1488 
   1489 2011-02-09  Anthony Green <green (a] moxielogic.com>
   1490 
   1491 	* testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
   1492 	* testsuite/libffi.call/err_bad_abi.c: Remove xfail.
   1493 	* src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
   1494 	(ffi_prep_closure_loc): Check for bad ABI.
   1495 	* src/prep_cif.c (UNLIKELY, LIKELY): Define.
   1496 	(initialize_aggregate): Check for bad types.
   1497 
   1498 2011-02-09  Landon Fuller <landonf (a] plausible.coop>
   1499 
   1500 	* Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
   1501 	src/arm/trampoline.S.
   1502 	(nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
   1503 	* configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
   1504 	* src/arm/ffi.c (ffi_trampoline_table)
   1505 	(ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
   1506 	(FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
   1507 	(FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
   1508 	(ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
   1509 	Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
   1510 	(ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
   1511 	separately.
   1512 	* src/arm/sysv.S: Handle Apple iOS host.
   1513 	* src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
   1514 	* build-ios.sh: New file.
   1515 	* fficonfig.h.in, configure, Makefile.in: Rebuilt.
   1516 	* README: Mention ARM iOS.
   1517 
   1518 2011-02-08  Oren Held  <orenhe (a] il.ibm.com>
   1519 
   1520 	* src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
   1521 	redefinition of mallinfo on HP-UX.
   1522 
   1523 2011-02-08  Ginn Chen  <ginn.chen (a] oracle.com>
   1524 
   1525 	* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
   1526 	aggregate return ABI.  Flush cache.
   1527 	(ffi_prep_closure_loc): Flush cache.
   1528 
   1529 2011-02-11  Anthony Green  <green (a] moxielogic.com>
   1530 
   1531 	From Tom Honermann <tom.honermann (a] oracle.com>:
   1532 	* src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
   1533 	AIX.  Declare .ffi_prep_args.  Insert nops after branch
   1534 	instructions so that the AIX linker can insert TOC reload
   1535 	instructions.
   1536 	* src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
   1537 
   1538 2011-02-08  Ed  <ed (a] kdtc.net>
   1539 
   1540 	* src/powerpc/asm.h: Fix grammar nit in comment.
   1541 
   1542 2011-02-08  Uli Link  <ul.mcamafia (a] linkitup.de>
   1543 
   1544 	* include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
   1545 
   1546 2011-02-09  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1547 
   1548 	PR libffi/46661
   1549 	* testsuite/libffi.call/cls_pointer.c (main): Cast void * to
   1550 	uintptr_t first.
   1551 	* testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
   1552 
   1553 2011-02-08  Rafael Avila de Espindola  <respindola (a] mozilla.com>
   1554 
   1555 	* configure.ac: Fix x86 test for pc related relocs.
   1556 	* configure: Rebuilt.
   1557 
   1558 2011-02-07  Joel Sherrill <joel.sherrill (a] oarcorp.com>
   1559 
   1560 	* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
   1561 	Handle case when CPU variant does not have long double support.
   1562 	* libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
   1563 	and cores with soft floating point.
   1564 
   1565 2011-02-07  Joel Sherrill <joel.sherrill (a] oarcorp.com>
   1566 
   1567 	* configure.ac: Add mips*-*-rtems* support.
   1568 	* configure: Regenerate.
   1569 	* src/mips/ffitarget.h: Ensure needed constants are available
   1570 	for targets which do not have sgidefs.h.
   1571 
   1572 2011-01-26  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   1573 
   1574 	PR target/40125
   1575 	* configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
   1576 	* configure: Regenerate.
   1577 
   1578 2010-12-18  Iain Sandoe  <iains (a] gcc.gnu.org>
   1579 
   1580 	PR libffi/29152
   1581 	PR libffi/42378
   1582 	* src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
   1583 	update comments.
   1584 	* src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
   1585 	(FFI_TRAMPOLINE_SIZE): Update for Darwin64.
   1586 	* src/powerpc/darwin.S: Provide Darwin64 implementation,
   1587 	update comments.
   1588 	* src/powerpc/ffi_darwin.c: Likewise.
   1589 
   1590 2010-12-06  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1591 
   1592 	* configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
   1593 	backslashes.
   1594 	(libffi_cv_as_string_pseudo_op): Likewise.
   1595 	* configure: Regenerate.
   1596 
   1597 2010-12-03  Chung-Lin Tang  <cltang (a] codesourcery.com>
   1598 
   1599 	* src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
   1600 	(ffi_closure_VFP): Same.
   1601 	(ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
   1602 	directive.
   1603 
   1604 2010-12-01  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1605 
   1606 	* testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
   1607 	(PRIuPTR): Define.
   1608 
   1609 2010-11-29  Richard Henderson  <rth (a] redhat.com>
   1610 	    Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1611 
   1612 	* src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
   1613 	(.eh_frame): Use FDE_ENCODING.
   1614 	(.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
   1615 
   1616 2010-11-22  Jacek Caban <jacek (a] codeweavers.com>
   1617 
   1618 	* configure.ac: Check for symbol underscores on mingw-w64.
   1619 	* configure: Rebuilt.
   1620 	* src/x86/win64.S: Correctly access extern symbols in respect to
   1621 	underscores.
   1622 
   1623 2010-11-15  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1624 
   1625 	* testsuite/lib/libffi-dg.exp: Rename ...
   1626 	* testsuite/lib/libffi.exp: ... to this.
   1627 	* libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
   1628 	* libffi/testsuite/libffi.special/special.exp: Likewise.
   1629 
   1630 2010-10-28  Chung-Lin Tang  <cltang (a] codesourcery.com>
   1631 
   1632 	* src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
   1633 	code, new parameter, and return value. Update comments.
   1634 	(ffi_prep_cif_machdep): Add case for VFP struct return values. Add
   1635 	call to layout_vfp_args().
   1636 	(ffi_call_SYSV): Update declaration.
   1637 	(ffi_call_VFP): New declaration.
   1638 	(ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
   1639 	when ABI is FFI_VFP.
   1640 	(ffi_closure_VFP): New declaration.
   1641 	(ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
   1642 	ffi_prep_incoming_args_SYSV().
   1643 	(ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
   1644 	case handling.
   1645 	(ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
   1646 	construction under VFP hard-float.
   1647 	(rec_vfp_type_p): New function.
   1648 	(vfp_type_p): Same.
   1649 	(place_vfp_arg): Same.
   1650 	(layout_vfp_args): Same.
   1651 	* src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
   1652 	based on __ARM_PCS_VFP.
   1653 	(FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
   1654 	fields.
   1655 	(FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
   1656 	(FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
   1657 	* src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
   1658 	direct call. Move function pointer load upwards.
   1659 	(ffi_call_VFP): New function.
   1660 	(ffi_closure_VFP): Same.
   1661 
   1662 	* testsuite/lib/libffi-dg.exp (check-flags): New function.
   1663 	(dg-skip-if): New function.
   1664 	* testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
   1665 	and compiler options include -mfloat-abi=hard.
   1666 	* testsuite/libffi.call/cls_longdouble_va.c: Same.
   1667 
   1668 2010-10-01  Jakub Jelinek  <jakub (a] redhat.com>
   1669 
   1670 	PR libffi/45677
   1671 	* src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
   1672 	a multiple of 8.
   1673 	* testsuite/libffi.call/many2.c: New test.
   1674 
   1675 2010-08-20  Mark Wielaard  <mjw (a] redhat.com>
   1676 
   1677 	* src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
   1678 	returns NULL.
   1679 
   1680 2010-08-09  Andreas Tobler  <andreast (a] fgznet.ch>
   1681 
   1682 	* configure.ac: Add target powerpc64-*-freebsd*.
   1683 	* configure: Regenerate.
   1684 	* testsuite/libffi.call/cls_align_longdouble_split.c: Pass
   1685 	-mlong-double-128 only to linux targets.
   1686 	* testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
   1687 	* testsuite/libffi.call/cls_longdouble.c: Likewise.
   1688 	* testsuite/libffi.call/huge_struct.c: Likewise.
   1689 
   1690 2010-08-05  Dan Witte  <dwitte (a] mozilla.com>
   1691 
   1692         * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
   1693         debug CRT when --enable-debug is given.
   1694         * configure.ac: Define it.
   1695         * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
   1696 
   1697 2010-08-04  Dan Witte  <dwitte (a] mozilla.com>
   1698 
   1699 	* src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
   1700 	platforms.
   1701 	* src/x86/ffi.c: Remove redundant ifdef checks.
   1702 	* src/prep_cif.c: Push stack space computation into src/x86/ffi.c
   1703 	for X86_ANY so return value space doesn't get added twice.
   1704 
   1705 2010-08-03  Neil Rashbrooke <neil (a] parkwaycc.co.uk>
   1706 
   1707 	* msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
   1708 
   1709 2010-07-22  Dan Witte  <dwitte (a] mozilla.com>
   1710 
   1711 	* src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
   1712 	* src/prep_cif.c: Fix ABI assertion.
   1713         * src/cris/ffi.c: Ditto.
   1714 
   1715 2010-07-10  Evan Phoenix  <evan (a] fallingsnow.net>
   1716 
   1717 	* src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
   1718 
   1719 2010-07-07  Dan Hork <dan (a] danny.cz>
   1720 
   1721 	* include/ffi.h.in: Protect #define with #ifndef.
   1722 	* src/powerpc/ffitarget.h: Ditto.
   1723 	* src/s390/ffitarget.h: Ditto.
   1724 	* src/sparc/ffitarget.h: Ditto.
   1725 
   1726 2010-07-07   Neil Roberts <neil (a] linux.intel.com>
   1727 
   1728 	* src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
   1729 	16-bytes.
   1730 
   1731 2010-07-02  Jakub Jelinek  <jakub (a] redhat.com>
   1732 
   1733 	* Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
   1734 	* Makefile.in: Regenerated.
   1735 
   1736 2010-05-19  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1737 
   1738 	* configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
   1739 	output, too.
   1740 	(libffi_cv_as_ascii_pseudo_op): Check for .ascii.
   1741 	(libffi_cv_as_string_pseudo_op): Check for .string.
   1742 	* configure: Regenerate.
   1743 	* fficonfig.h.in: Regenerate.
   1744 	* src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
   1745 
   1746 2010-05-11  Dan Witte  <dwitte (a] mozilla.com>
   1747 
   1748 	* doc/libffi.tex: Document previous change.
   1749 
   1750 2010-05-11  Makoto Kato <m_kato (a] ga2.so-net.ne.jp>
   1751 
   1752 	* src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
   1753 
   1754 2010-05-05  Michael Kohler <michaelkohler (a] live.com>
   1755 
   1756 	* src/dlmalloc.c (dlfree): Fix spelling.
   1757 	* src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
   1758 	* configure.ac: Ditto.
   1759 	* configure: Rebuilt.
   1760 
   1761 2010-04-13  Dan Witte  <dwitte (a] mozilla.com>
   1762 
   1763 	* msvcc.sh: Build with -W3 instead of -Wall.
   1764 	* src/powerpc/ffi_darwin.c: Remove build warnings.
   1765 	* src/x86/ffi.c: Ditto.
   1766 	* src/x86/ffitarget.h: Ditto.
   1767 
   1768 2010-04-12  Dan Witte  <dwitte (a] mozilla.com>
   1769 	    Walter Meinl <wuno (a] lsvw.de>
   1770 
   1771 	* configure.ac: Add OS/2 support.
   1772 	* configure: Rebuilt.
   1773 	* src/closures.c: Ditto.
   1774 	* src/dlmalloc.c: Ditto.
   1775 	* src/x86/win32.S: Ditto.
   1776 
   1777 2010-04-07  Jakub Jelinek  <jakub (a] redhat.com>
   1778 
   1779 	* testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
   1780 
   1781 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   1782 
   1783 	* Makefile.in: Regenerate.
   1784 	* aclocal.m4: Regenerate.
   1785 	* include/Makefile.in: Regenerate.
   1786 	* man/Makefile.in: Regenerate.
   1787 	* testsuite/Makefile.in: Regenerate.
   1788 
   1789 2010-03-30  Dan Witte  <dwitte (a] mozilla.com>
   1790 
   1791 	* msvcc.sh: Disable build warnings.
   1792 	* README (tested): Clarify windows build procedure.
   1793 
   1794 2010-03-15  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1795 
   1796 	* configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
   1797 	* configure: Regenerate.
   1798 	* fficonfig.h.in: Regenerate.
   1799 	* libffi/src/x86/unix64.S (.eh_frame)
   1800 	[HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
   1801 
   1802 2010-03-14  Matthias Klose  <doko (a] ubuntu.com>
   1803 
   1804 	* src/x86/ffi64.c: Fix typo in comment.
   1805 	* src/x86/ffi.c: Use /* ... */ comment style.
   1806 
   1807 2010-02-24  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1808 
   1809 	* doc/libffi.texi (The Closure API): Fix typo.
   1810 	* doc/libffi.info: Remove.
   1811 
   1812 2010-02-15  Matthias Klose  <doko (a] ubuntu.com>
   1813 
   1814 	* src/arm/sysv.S (__ARM_ARCH__): Define for processor
   1815 	__ARM_ARCH_7EM__.
   1816 
   1817 2010-01-15  Anthony Green  <green (a] redhat.com>
   1818 
   1819 	* README: Add notes on building with Microsoft Visual C++.
   1820 
   1821 2010-01-15  Daniel Witte  <dwitte (a] mozilla.com>
   1822 
   1823 	* msvcc.sh: New file.
   1824 
   1825 	* src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
   1826 	* src/x86/ffi.c: Tweak function declaration and remove excess
   1827 	parens.
   1828 	* include/ffi.h.in: Add __declspec(align(8)) to typedef struct
   1829 	ffi_closure.
   1830 
   1831 	* src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
   1832 	function ffi_call_win32 on X86_WIN32.
   1833 	* src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
   1834 	(ffi_call_STDCALL): Remove.
   1835 
   1836 	* src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
   1837 	to ffi_prep_cif_machdep for x86.
   1838 	* src/x86/ffi.c (ffi_prep_cif_machdep): To here.
   1839 
   1840 2010-01-15  Oliver Kiddle  <okiddle (a] yahoo.co.uk>
   1841 
   1842 	* src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
   1843 	Sun Studio compiler compatibility.
   1844 
   1845 2010-01-12  Conrad Irwin <conrad.irwin (a] gmail.com>
   1846 
   1847 	* doc/libffi.texi: Add closure example.
   1848 
   1849 2010-01-07  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1850 
   1851 	PR libffi/40701
   1852 	* testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
   1853 	PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
   1854 	* testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
   1855 	alpha*-dec-osf*.
   1856 	* testsuite/libffi.call/cls_align_uint64.c: Likewise.
   1857 	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
   1858 	* testsuite/libffi.call/return_ll1.c: Likewise.
   1859 	* testsuite/libffi.call/stret_medium2.c: Likewise.
   1860 	* testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
   1861 	MAP_FAILED to char *.
   1862 
   1863 2010-01-06  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1864 
   1865 	* src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
   1866 
   1867 2009-12-31  Anthony Green  <green (a] redhat.com>
   1868 
   1869 	* README: Update for libffi 3.0.9.
   1870 
   1871 2009-12-27  Matthias Klose  <doko (a] ubuntu.com>
   1872 
   1873 	* configure.ac (HAVE_LONG_DOUBLE): Define for mips when
   1874 	appropriate.
   1875 	* configure: Rebuilt.
   1876 
   1877 2009-12-26  Anthony Green  <green (a] redhat.com>
   1878 
   1879 	* testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
   1880 	avr32*-*-*.
   1881 	* testsuite/libffi.call/cls_double_va.c: Ditto.
   1882 
   1883 2009-12-26  Andreas Tobler  <a.tobler (a] schweiz.org>
   1884 
   1885 	* testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
   1886 	and inttypes.h.
   1887 	* testsuite/libffi.special/unwindtest.cc: Ditto.
   1888 
   1889 2009-12-26  Andreas Tobler  <a.tobler (a] schweiz.org>
   1890 
   1891 	* configure.ac: Add amd64-*-openbsd*.
   1892 	* configure: Rebuilt.
   1893 	* testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
   1894 	openbsd programs with -lpthread.
   1895 
   1896 2009-12-26  Anthony Green  <green (a] redhat.com>
   1897 
   1898 	* testsuite/libffi.call/cls_double_va.c,
   1899 	testsuite/libffi.call/cls_longdouble.c,
   1900 	testsuite/libffi.call/cls_longdouble_va.c,
   1901 	testsuite/libffi.call/cls_pointer.c,
   1902 	testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
   1903 	mips*-*-* and arm*-*-*.
   1904 	* testsuite/libffi.call/cls_align_longdouble_split.c,
   1905 	testsuite/libffi.call/cls_align_longdouble_split2.c,
   1906 	testsuite/libffi.call/stret_medium2.c,
   1907 	testsuite/libffi.call/stret_medium.c,
   1908 	testsuite/libffi.call/stret_large.c,
   1909 	testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
   1910 
   1911 2009-12-31  Kay Tietz  <ktietz70 (a] googlemail.com>
   1912 
   1913 	* testsuite/libffi.call/ffitest.h,
   1914 	testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
   1915 	definitions.
   1916 
   1917 2009-12-31  Carlo Bramini  <carlo.bramix (a] libero.it>
   1918 
   1919 	* configure.ac (AM_LTLDFLAGS): Define for windows hosts.
   1920 	* Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
   1921 	* configure: Rebuilt.
   1922 	* Makefile.in: Rebuilt.
   1923 
   1924 2009-12-31  Anthony Green  <green (a] redhat.com>
   1925 	    Blake Chaffin.
   1926 
   1927 	* testsuite/libffi.call/huge_struct.c: New test case from Blake
   1928 	Chaffin @ Apple.
   1929 
   1930 2009-12-28  David Edelsohn  <edelsohn (a] gnu.org>
   1931 
   1932 	* src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
   1933 	local variables.
   1934 	(aix_adjust_aggregate_sizes): New function.
   1935 	(ffi_prep_cif_machdep): Call it.
   1936 
   1937 2009-12-26  Andreas Tobler  <a.tobler (a] schweiz.org>
   1938 
   1939 	* configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
   1940 	* configure: Regenerate.
   1941 	* fficonfig.h.in: Likewise.
   1942 	* src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
   1943 	Solaris/x86.
   1944 
   1945 2009-12-26  Andreas Schwab  <schwab (a] linux-m68k.org>
   1946 
   1947 	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
   1948 	when a float arguments is passed in memory.
   1949 	(ffi_closure_helper_SYSV): Mark general registers as used up when
   1950 	a 64bit or soft-float long double argument is passed in memory.
   1951 
   1952 2009-12-25  Matthias Klose  <doko (a] ubuntu.com>
   1953 
   1954 	* man/ffi_call.3: Fix #include in examples.
   1955 	* doc/libffi.texi: Add dircategory.
   1956 
   1957 2009-12-25  Frank Everdij <f.p.x.everdij (a] tudelft.nl>
   1958 
   1959 	* include/ffi.h.in: Placed '__GNUC__' ifdef around
   1960 	'__attribute__((aligned(8)))' in ffi_closure, fixes compile for
   1961 	IRIX MIPSPro c99.
   1962 	* include/ffi_common.h: Added '__sgi' define to non
   1963 	'__attribute__((__mode__()))' integer typedefs.
   1964 	* src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
   1965 	ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
   1966 	(ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
   1967 	FFI_LONGDOUBLE support and alignment(N32 only).
   1968 	* src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
   1969 	fixed non '__attribute__((__mode__()))' integer typedefs.
   1970 	* src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
   1971 	since they are Linux/GNU Assembler specific.
   1972 
   1973 2009-12-25  Bradley Smith  <brad (a] brad-smith.co.uk>
   1974 
   1975 	* configure.ac, Makefile.am, src/avr32/ffi.c,
   1976 	src/avr32/ffitarget.h,
   1977 	src/avr32/sysv.S: Add AVR32 port.
   1978 	* configure, Makefile.in: Rebuilt.
   1979 
   1980 2009-12-21  Andreas Tobler  <a.tobler (a] schweiz.org>
   1981 
   1982 	* configure.ac: Make i?86 build on FreeBSD and OpenBSD.
   1983 	* configure: Regenerate.
   1984 
   1985 2009-12-15  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   1986 
   1987 	* testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
   1988 
   1989 2009-12-13  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   1990 
   1991 	* src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
   1992 	type on HP-UX.
   1993 
   1994 2012-02-13  Kai Tietz  <ktietz (a] redhat.com>
   1995 
   1996 	PR libffi/52221
   1997 	* src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall
   1998 	support for X86_WIN32.
   1999 	(FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement.
   2000 
   2001 2009-12-11  Eric Botcazou  <ebotcazou (a] adacore.com>
   2002 
   2003 	* src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
   2004 	double' arguments.
   2005 
   2006 2009-12-11  Eric Botcazou  <ebotcazou (a] adacore.com>
   2007 
   2008 	* testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
   2009 
   2010 2009-12-10  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   2011 
   2012 	PR libffi/40700
   2013 	* src/closures.c [X86_64 && __sun__ && __svr4__]
   2014 	(FFI_MMAP_EXEC_WRIT): Define.
   2015 
   2016 2009-12-08  David Daney  <ddaney (a] caviumnetworks.com>
   2017 
   2018 	* testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
   2019 	* testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
   2020 	* testsuite/libffi.call/stret_large.c: Same.
   2021 	* testsuite/libffi.call/cls_align_longdouble_split.c: Same.
   2022 	* testsuite/libffi.call/stret_large2.c: Same.
   2023 	* testsuite/libffi.call/stret_medium2.c: Same.
   2024 
   2025 2009-12-07  David Edelsohn  <edelsohn (a] gnu.org>
   2026 
   2027 	* src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
   2028 	typo.
   2029 
   2030 2009-12-05  David Edelsohn  <edelsohn (a] gnu.org>
   2031 
   2032 	* src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
   2033 	code.
   2034 	* src/powerpc/aix_closure.S: Same.
   2035 
   2036 2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   2037 
   2038 	* Makefile.in: Regenerate.
   2039 	* configure: Regenerate.
   2040 	* include/Makefile.in: Regenerate.
   2041 	* man/Makefile.in: Regenerate.
   2042 	* testsuite/Makefile.in: Regenerate.
   2043 
   2044 2009-12-04  David Edelsohn  <edelsohn (a] gnu.org>
   2045 
   2046 	* src/powerpc/aix_closure.S: Reorganize 64-bit code to match
   2047 	linux64_closure.S.
   2048 
   2049 2009-12-04  Uros Bizjak  <ubizjak (a] gmail.com>
   2050 
   2051 	PR libffi/41908
   2052 	* src/x86/ffi64.c (classify_argument): Update from
   2053 	gcc/config/i386/i386.c.
   2054 	(ffi_closure_unix64_inner): Do not use the address of two consecutive
   2055 	SSE registers directly.
   2056 	* testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
   2057 	for x86_64 linux targets.
   2058 
   2059 2009-12-04  David Edelsohn  <edelsohn (a] gnu.org>
   2060 
   2061 	* src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
   2062 	pfr for long double split between fpr13 and stack.
   2063 
   2064 2009-12-03  David Edelsohn  <edelsohn (a] gnu.org>
   2065 
   2066 	* src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
   2067 	fparg_count twice for long double.
   2068 
   2069 2009-12-03  David Edelsohn  <edelsohn (a] gnu.org>
   2070 
   2071 	PR libffi/42243
   2072 	* src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
   2073 
   2074 2009-12-03  Uros Bizjak  <ubizjak (a] gmail.com>
   2075 
   2076 	* testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
   2077 	Remove xfails for x86 linux targets.
   2078 
   2079 2009-12-02  David Edelsohn  <edelsohn (a] gnu.org>
   2080 
   2081 	* src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
   2082 	case.
   2083 
   2084 2009-12-01  David Edelsohn  <edelsohn (a] gnu.org>
   2085 
   2086 	* src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
   2087 	register usage.  Call ffi_prep_args directly.  Add long double
   2088 	return value support.
   2089 	* src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
   2090 	applies to FFI_TYPE_DOUBLE.  Correct fpr_base increment typo.
   2091 	Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
   2092 	(ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
   2093 	mode.
   2094 	(ffi_closure_helper_DARWIN): Remove nf and ng counters.  Move temp
   2095 	into case.
   2096 	* src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
   2097 	Allocate result area between params and FPRs.
   2098 
   2099 2009-11-30  David Edelsohn  <edelsohn (a] gnu.org>
   2100 
   2101 	PR target/35484
   2102 	* src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
   2103 	AIX64.
   2104 	* src/powerpc/aix.S: Implement AIX64 version.
   2105 	* src/powerpc/aix_closure.S: Implement AIX64 version.
   2106 	(ffi_closure_ASM): Use extsb, lha and displament addresses.
   2107 	* src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
   2108 	support.
   2109 	(ffi_prep_cif_machdep): Same.
   2110 	(ffi_call): Same.
   2111 	(ffi_closure_helper_DARWIN): Same.
   2112 
   2113 2009-11-02  Andreas Tobler  <a.tobler (a] schweiz.org>
   2114 
   2115 	PR libffi/41908
   2116 	* testsuite/libffi.call/testclosure.c: New test.
   2117 
   2118 2009-09-28  Kai Tietz  <kai.tietz (a] onevision.com>
   2119 
   2120 	* src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
   2121 	assembly version use of ___chkstk.
   2122 
   2123 2009-09-23  Matthias Klose  <doko (a] ubuntu.com>
   2124 
   2125 	PR libffi/40242, PR libffi/41443
   2126 	* src/arm/sysv.S (__ARM_ARCH__): Define for processors
   2127 	__ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
   2128 	__ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
   2129 	Change the conditionals to __SOFTFP__ || __ARM_EABI__
   2130 	for -mfloat-abi=softfp to work.
   2131 
   2132 2009-09-17  Loren J. Rittle  <ljrittle (a] acm.org>
   2133 
   2134 	PR testsuite/32843 (strikes again)
   2135 	* src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
   2136 	enable proper extension on char and short.
   2137 
   2138 2009-09-15  David Daney  <ddaney (a] caviumnetworks.com>
   2139 
   2140 	* src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
   2141 	handling for FFI_TYPE_POINTER.
   2142 	* src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
   2143 	FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
   2144 	FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
   2145 	FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
   2146 	(FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
   2147 	(enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
   2148 	* src/mips/n32.S (ffi_call_N32): Add handling for soft-float
   2149 	structure and pointer returns.
   2150 	(ffi_closure_N32): Add handling for pointer returns.
   2151 	* src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
   2152 	calc_n32_return_struct_flags): Handle soft-float.
   2153 	(ffi_prep_cif_machdep):  Handle soft-float, fix pointer handling.
   2154 	(ffi_call_N32): Declare proper argument types.
   2155 	(ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
   2156 	soft-float.
   2157 
   2158 2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   2159 
   2160 	* configure.ac (AC_PREREQ): Bump to 2.64.
   2161 
   2162 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   2163 
   2164 	* Makefile.am (install-html, install-pdf): Remove.
   2165 	* Makefile.in: Regenerate.
   2166 
   2167 	* Makefile.in: Regenerate.
   2168 	* aclocal.m4: Regenerate.
   2169 	* configure: Regenerate.
   2170 	* fficonfig.h.in: Regenerate.
   2171 	* include/Makefile.in: Regenerate.
   2172 	* man/Makefile.in: Regenerate.
   2173 	* testsuite/Makefile.in: Regenerate.
   2174 
   2175 2011-08-22  Jasper Lievisse Adriaanse <jasper (a] openbsd.org>
   2176 
   2177 	* configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
   2178 	* configure: Rebuilt.
   2179 
   2180 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   2181 
   2182 	* configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
   2183 
   2184 2009-07-24  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   2185 
   2186 	PR libffi/40807
   2187 	* src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
   2188 	return types for X86_WIN32.
   2189 	* src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
   2190 	(_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
   2191 	_ffi_closure_STDCALL): Likewise.
   2192 
   2193 	* src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
   2194 	(dlmmap, dlmunmap): Also use these functions on Cygwin.
   2195 
   2196 2009-07-11  Richard Sandiford  <rdsandiford (a] googlemail.com>
   2197 
   2198 	PR testsuite/40699
   2199 	PR testsuite/40707
   2200 	PR testsuite/40709
   2201 	* testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
   2202 	2009-06-30 commits.
   2203 
   2204 2009-07-01  Richard Sandiford  <r.sandiford (a] uk.ibm.com>
   2205 
   2206 	* testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
   2207 	to "" before adding paths.  (This reinstates an assignment that
   2208 	was removed by my 2009-06-30 commit, but changes the initial
   2209 	value from "." to "".)
   2210 
   2211 2009-07-01  H.J. Lu  <hongjiu.lu (a] intel.com>
   2212 
   2213 	PR testsuite/40601
   2214 	* testsuite/lib/libffi-dg.exp (libffi-init): Properly set
   2215 	gccdir.  Adjust ld_library_path for gcc only if gccdir isn't
   2216 	empty.
   2217 
   2218 2009-06-30  Richard Sandiford  <r.sandiford (a] uk.ibm.com>
   2219 
   2220 	* testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
   2221 	to ld_library_path.  Use add_path.  Add just find_libgcc_s
   2222 	to ld_library_path, not every libgcc multilib directory.
   2223 
   2224 2009-06-16  Wim Lewis  <wiml (a] hhhh.org>
   2225 
   2226 	* src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
   2227 	supposed to be callee-saved.
   2228 	* src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
   2229 	return buffer for odd-size structs.
   2230 
   2231 2009-06-16  Andreas Tobler  <a.tobler (a] schweiz.org>
   2232 
   2233 	PR libffi/40444
   2234 	* testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
   2235 	allow_stack_execute for Darwin.
   2236 
   2237 2009-06-16  Andrew Haley  <aph (a] redhat.com>
   2238 
   2239 	* configure.ac (TARGETDIR): Add missing blank lines.
   2240 	* configure: Regenerate.
   2241 
   2242 2009-06-16  Andrew Haley  <aph (a] redhat.com>
   2243 
   2244 	* testsuite/libffi.call/cls_align_sint64.c,
   2245 	testsuite/libffi.call/cls_align_uint64.c,
   2246 	testsuite/libffi.call/cls_longdouble_va.c,
   2247 	testsuite/libffi.call/cls_ulonglong.c,
   2248 	testsuite/libffi.call/return_ll1.c,
   2249 	testsuite/libffi.call/stret_medium2.c: Fix printf format
   2250 	specifiers.
   2251 	* testsuite/libffi.call/ffitest.h,
   2252 	testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
   2253 
   2254 2009-06-15  Andrew Haley  <aph (a] redhat.com>
   2255 
   2256 	* testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
   2257 	* testsuite/libffi.call/err_bad_abi.c: Likewise.
   2258 
   2259 2009-06-12  Andrew Haley  <aph (a] redhat.com>
   2260 
   2261 	* Makefile.am: Remove info_TEXINFOS.
   2262 
   2263 2009-06-12  Andrew Haley  <aph (a] redhat.com>
   2264 
   2265 	* ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
   2266 	testsuite/libffi.call/cls_align_uint64.c,
   2267 	testsuite/libffi.call/cls_ulonglong.c,
   2268 	testsuite/libffi.call/return_ll1.c,
   2269 	testsuite/libffi.call/stret_medium2.c: Fix printf format
   2270 	specifiers.
   2271 	testsuite/libffi.special/unwindtest.cc: include stdint.h.
   2272 
   2273 2009-06-11  Timothy Wall  <twall (a] users.sf.net>
   2274 
   2275 	* Makefile.am,
   2276 	configure.ac,
   2277 	include/ffi.h.in,
   2278 	include/ffi_common.h,
   2279 	src/closures.c,
   2280 	src/dlmalloc.c,
   2281 	src/x86/ffi.c,
   2282 	src/x86/ffitarget.h,
   2283 	src/x86/win64.S (new),
   2284 	README: Added win64 support (mingw or MSVC)
   2285 	* Makefile.in,
   2286 	include/Makefile.in,
   2287 	man/Makefile.in,
   2288 	testsuite/Makefile.in,
   2289 	configure,
   2290 	aclocal.m4: Regenerated
   2291 	* ltcf-c.sh: properly escape cygwin/w32 path
   2292 	* man/ffi_call.3: Clarify size requirements for return value.
   2293 	* src/x86/ffi64.c: Fix filename in comment.
   2294 	* src/x86/win32.S: Remove unused extern.
   2295 
   2296 	* testsuite/libffi.call/closure_fn0.c,
   2297 	testsuite/libffi.call/closure_fn1.c,
   2298 	testsuite/libffi.call/closure_fn2.c,
   2299 	testsuite/libffi.call/closure_fn3.c,
   2300 	testsuite/libffi.call/closure_fn4.c,
   2301 	testsuite/libffi.call/closure_fn5.c,
   2302 	testsuite/libffi.call/closure_fn6.c,
   2303 	testsuite/libffi.call/closure_stdcall.c,
   2304 	testsuite/libffi.call/cls_12byte.c,
   2305 	testsuite/libffi.call/cls_16byte.c,
   2306 	testsuite/libffi.call/cls_18byte.c,
   2307 	testsuite/libffi.call/cls_19byte.c,
   2308 	testsuite/libffi.call/cls_1_1byte.c,
   2309 	testsuite/libffi.call/cls_20byte.c,
   2310 	testsuite/libffi.call/cls_20byte1.c,
   2311 	testsuite/libffi.call/cls_24byte.c,
   2312 	testsuite/libffi.call/cls_2byte.c,
   2313 	testsuite/libffi.call/cls_3_1byte.c,
   2314 	testsuite/libffi.call/cls_3byte1.c,
   2315  	testsuite/libffi.call/cls_3byte2.c,
   2316  	testsuite/libffi.call/cls_4_1byte.c,
   2317  	testsuite/libffi.call/cls_4byte.c,
   2318  	testsuite/libffi.call/cls_5_1_byte.c,
   2319  	testsuite/libffi.call/cls_5byte.c,
   2320  	testsuite/libffi.call/cls_64byte.c,
   2321  	testsuite/libffi.call/cls_6_1_byte.c,
   2322  	testsuite/libffi.call/cls_6byte.c,
   2323  	testsuite/libffi.call/cls_7_1_byte.c,
   2324  	testsuite/libffi.call/cls_7byte.c,
   2325  	testsuite/libffi.call/cls_8byte.c,
   2326  	testsuite/libffi.call/cls_9byte1.c,
   2327  	testsuite/libffi.call/cls_9byte2.c,
   2328  	testsuite/libffi.call/cls_align_double.c,
   2329  	testsuite/libffi.call/cls_align_float.c,
   2330  	testsuite/libffi.call/cls_align_longdouble.c,
   2331  	testsuite/libffi.call/cls_align_longdouble_split.c,
   2332  	testsuite/libffi.call/cls_align_longdouble_split2.c,
   2333  	testsuite/libffi.call/cls_align_pointer.c,
   2334  	testsuite/libffi.call/cls_align_sint16.c,
   2335  	testsuite/libffi.call/cls_align_sint32.c,
   2336  	testsuite/libffi.call/cls_align_sint64.c,
   2337  	testsuite/libffi.call/cls_align_uint16.c,
   2338  	testsuite/libffi.call/cls_align_uint32.c,
   2339  	testsuite/libffi.call/cls_align_uint64.c,
   2340  	testsuite/libffi.call/cls_dbls_struct.c,
   2341  	testsuite/libffi.call/cls_double.c,
   2342  	testsuite/libffi.call/cls_double_va.c,
   2343  	testsuite/libffi.call/cls_float.c,
   2344  	testsuite/libffi.call/cls_longdouble.c,
   2345  	testsuite/libffi.call/cls_longdouble_va.c,
   2346  	testsuite/libffi.call/cls_multi_schar.c,
   2347  	testsuite/libffi.call/cls_multi_sshort.c,
   2348  	testsuite/libffi.call/cls_multi_sshortchar.c,
   2349  	testsuite/libffi.call/cls_multi_uchar.c,
   2350  	testsuite/libffi.call/cls_multi_ushort.c,
   2351  	testsuite/libffi.call/cls_multi_ushortchar.c,
   2352  	testsuite/libffi.call/cls_pointer.c,
   2353  	testsuite/libffi.call/cls_pointer_stack.c,
   2354  	testsuite/libffi.call/cls_schar.c,
   2355  	testsuite/libffi.call/cls_sint.c,
   2356  	testsuite/libffi.call/cls_sshort.c,
   2357  	testsuite/libffi.call/cls_uchar.c,
   2358  	testsuite/libffi.call/cls_uint.c,
   2359  	testsuite/libffi.call/cls_ulonglong.c,
   2360  	testsuite/libffi.call/cls_ushort.c,
   2361  	testsuite/libffi.call/err_bad_abi.c,
   2362  	testsuite/libffi.call/err_bad_typedef.c,
   2363  	testsuite/libffi.call/float2.c,
   2364  	testsuite/libffi.call/huge_struct.c,
   2365  	testsuite/libffi.call/nested_struct.c,
   2366  	testsuite/libffi.call/nested_struct1.c,
   2367  	testsuite/libffi.call/nested_struct10.c,
   2368  	testsuite/libffi.call/nested_struct2.c,
   2369  	testsuite/libffi.call/nested_struct3.c,
   2370  	testsuite/libffi.call/nested_struct4.c,
   2371  	testsuite/libffi.call/nested_struct5.c,
   2372  	testsuite/libffi.call/nested_struct6.c,
   2373  	testsuite/libffi.call/nested_struct7.c,
   2374  	testsuite/libffi.call/nested_struct8.c,
   2375  	testsuite/libffi.call/nested_struct9.c,
   2376  	testsuite/libffi.call/problem1.c,
   2377  	testsuite/libffi.call/return_ldl.c,
   2378  	testsuite/libffi.call/return_ll1.c,
   2379  	testsuite/libffi.call/stret_large.c,
   2380  	testsuite/libffi.call/stret_large2.c,
   2381  	testsuite/libffi.call/stret_medium.c,
   2382  	testsuite/libffi.call/stret_medium2.c,
   2383 	testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
   2384 	of checking for MMAP.  Use intptr_t instead of long casts.
   2385 
   2386 2009-06-11  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   2387 
   2388 	* testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
   2389 	* testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
   2390 	* testsuite/libffi.call/err_bad_typedef.c: Likewise.
   2391 
   2392 2009-06-09  Andrew Haley  <aph (a] redhat.com>
   2393 
   2394 	* src/x86/freebsd.S: Add missing file.
   2395 
   2396 2009-06-08  Andrew Haley  <aph (a] redhat.com>
   2397 
   2398 	Import from libffi 3.0.8:
   2399 
   2400 	* doc/libffi.texi: New file.
   2401 	* doc/libffi.info: Likewise.
   2402 	* doc/stamp-vti: Likewise.
   2403 	* man/Makefile.am: New file.
   2404 	* man/ffi_call.3: New file.
   2405 
   2406 	* Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
   2407 	src/dlmalloc.c.
   2408 	(nodist_libffi_la_SOURCES): Add X86_FREEBSD.
   2409 
   2410 	* configure.ac: Bump version to 3.0.8.
   2411 	parisc*-*-linux*: Add.
   2412 	i386-*-freebsd* | i386-*-openbsd*: Add.
   2413 	powerpc-*-beos*: Add.
   2414 	AM_CONDITIONAL X86_FREEBSD: Add.
   2415 	AC_CONFIG_FILES: Add man/Makefile.
   2416 
   2417 	* include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
   2418 
   2419 2009-06-08  Andrew Haley  <aph (a] redhat.com>
   2420 
   2421 	* README: Import from libffi 3.0.8.
   2422 
   2423 2009-06-08  Andrew Haley  <aph (a] redhat.com>
   2424 
   2425 	* testsuite/libffi.call/err_bad_abi.c: Add xfails.
   2426 	* testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
   2427 	* testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
   2428 	* testsuite/libffi.call/err_bad_typedef.c: Add xfails.
   2429 
   2430 	* testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
   2431 	* testsuite/libffi.call/stret_medium.c: Likewise.
   2432 	* testsuite/libffi.call/stret_large2.c: Likewise.
   2433 	* testsuite/libffi.call/stret_large.c:  Likewise.
   2434 
   2435 2008-12-26  Timothy Wall  <twall (a] users.sf.net>
   2436 
   2437 	* testsuite/libffi.call/cls_longdouble.c,
   2438 	testsuite/libffi.call/cls_longdouble_va.c,
   2439 	testsuite/libffi.call/cls_align_longdouble.c,
   2440 	testsuite/libffi.call/cls_align_longdouble_split.c,
   2441 	testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
   2442 	failures on x86_64 cygwin/mingw.
   2443 
   2444 2008-12-22  Timothy Wall  <twall (a] users.sf.net>
   2445 
   2446 	* testsuite/libffi.call/closure_fn0.c,
   2447 	testsuite/libffi.call/closure_fn1.c,
   2448 	testsuite/libffi.call/closure_fn2.c,
   2449 	testsuite/libffi.call/closure_fn3.c,
   2450 	testsuite/libffi.call/closure_fn4.c,
   2451 	testsuite/libffi.call/closure_fn5.c,
   2452 	testsuite/libffi.call/closure_fn6.c,
   2453 	testsuite/libffi.call/closure_loc_fn0.c,
   2454 	testsuite/libffi.call/closure_stdcall.c,
   2455 	testsuite/libffi.call/cls_align_pointer.c,
   2456 	testsuite/libffi.call/cls_pointer.c,
   2457 	testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
   2458 	pointer to integer (intptr_t).
   2459 	* testsuite/libffi.call/cls_longdouble.c: disable for win64.
   2460 
   2461 2008-07-24  Anthony Green  <green (a] redhat.com>
   2462 
   2463 	* testsuite/libffi.call/cls_dbls_struct.c,
   2464 	testsuite/libffi.call/cls_double_va.c,
   2465 	testsuite/libffi.call/cls_longdouble.c,
   2466 	testsuite/libffi.call/cls_longdouble_va.c,
   2467 	testsuite/libffi.call/cls_pointer.c,
   2468 	testsuite/libffi.call/cls_pointer_stack.c,
   2469 	testsuite/libffi.call/err_bad_abi.c: Clean up failures from
   2470 	compiler warnings.
   2471 
   2472 2008-03-04  Anthony Green  <green (a] redhat.com>
   2473 	    Blake Chaffin
   2474 	    hos (a] tamanegi.org
   2475 
   2476 	* testsuite/libffi.call/cls_align_longdouble_split2.c
   2477 	  testsuite/libffi.call/cls_align_longdouble_split.c
   2478 	  testsuite/libffi.call/cls_dbls_struct.c
   2479 	  testsuite/libffi.call/cls_double_va.c
   2480 	  testsuite/libffi.call/cls_longdouble.c
   2481 	  testsuite/libffi.call/cls_longdouble_va.c
   2482 	  testsuite/libffi.call/cls_pointer.c
   2483 	  testsuite/libffi.call/cls_pointer_stack.c
   2484 	  testsuite/libffi.call/err_bad_abi.c
   2485 	  testsuite/libffi.call/err_bad_typedef.c
   2486 	  testsuite/libffi.call/stret_large2.c
   2487 	  testsuite/libffi.call/stret_large.c
   2488 	  testsuite/libffi.call/stret_medium2.c
   2489 	  testsuite/libffi.call/stret_medium.c: New tests from Apple.
   2490 
   2491 2009-06-05  Andrew Haley  <aph (a] redhat.com>
   2492 
   2493 	* src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
   2494 	libffi.
   2495 
   2496 2009-06-04  Andrew Haley  <aph (a] redhat.com>
   2497 
   2498 	* src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
   2499 	stdcall changes.
   2500 
   2501 2008-02-26  Anthony Green  <green (a] redhat.com>
   2502 	    Thomas Heller  <theller (a] ctypes.org>
   2503 
   2504 	* src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
   2505 	comment.
   2506 
   2507 2008-02-03  Timothy Wall  <twall (a] users.sf.net>
   2508 
   2509 	* src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
   2510 	  offset based on code pointer, not data pointer.
   2511 
   2512 2008-01-31  Timothy Wall <twall (a] users.sf.net>
   2513 
   2514 	* testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
   2515 	closures.
   2516 	* src/x86/ffitarget.h: Increase size of trampoline for stdcall
   2517 	closures.
   2518 	* src/x86/win32.S: Add assembly for stdcall closure.
   2519 	* src/x86/ffi.c: Initialize stdcall closure trampoline.
   2520 
   2521 2009-06-04  Andrew Haley  <aph (a] redhat.com>
   2522 
   2523 	* include/ffi.h.in: Change void (*)() to void (*)(void).
   2524 	* src/x86/ffi.c: Likewise.
   2525 
   2526 2009-06-04  Andrew Haley  <aph (a] redhat.com>
   2527 
   2528 	* src/powerpc/ppc_closure.S: Insert licence header.
   2529 	* src/powerpc/linux64_closure.S: Likewise.
   2530 	* src/m68k/sysv.S: Likewise.
   2531 
   2532 	* src/sh64/ffi.c: Change void (*)() to void (*)(void).
   2533 	* src/powerpc/ffi.c: Likewise.
   2534 	* src/powerpc/ffi_darwin.c: Likewise.
   2535 	* src/m32r/ffi.c: Likewise.
   2536 	* src/sh64/ffi.c: Likewise.
   2537 	* src/x86/ffi64.c: Likewise.
   2538 	* src/alpha/ffi.c: Likewise.
   2539 	* src/alpha/osf.S: Likewise.
   2540 	* src/frv/ffi.c: Likewise.
   2541 	* src/s390/ffi.c: Likewise.
   2542 	* src/pa/ffi.c: Likewise.
   2543 	* src/pa/hpux32.S: Likewise.
   2544 	* src/ia64/unix.S: Likewise.
   2545 	* src/ia64/ffi.c: Likewise.
   2546 	* src/sparc/ffi.c: Likewise.
   2547 	* src/mips/ffi.c: Likewise.
   2548 	* src/sh/ffi.c: Likewise.
   2549 
   2550 2008-02-15  David Daney  <ddaney (a] avtrex.com>
   2551 
   2552 	* src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
   2553 	Define (conditionally), and use it to include cachectl.h.
   2554 	(ffi_prep_closure_loc): Fix cache flushing.
   2555 	* src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
   2556 
   2557 2009-06-04  Andrew Haley  <aph (a] redhat.com>
   2558 
   2559 	include/ffi.h.in,
   2560 	src/arm/ffitarget.h,
   2561 	src/arm/ffi.c,
   2562 	src/arm/sysv.S,
   2563 	src/powerpc/ffitarget.h,
   2564 	src/closures.c,
   2565 	src/sh64/ffitarget.h,
   2566 	src/sh64/ffi.c,
   2567 	src/sh64/sysv.S,
   2568 	src/types.c,
   2569 	src/x86/ffi64.c,
   2570 	src/x86/ffitarget.h,
   2571 	src/x86/win32.S,
   2572 	src/x86/darwin.S,
   2573 	src/x86/ffi.c,
   2574 	src/x86/sysv.S,
   2575 	src/x86/unix64.S,
   2576 	src/alpha/ffitarget.h,
   2577 	src/alpha/ffi.c,
   2578 	src/alpha/osf.S,
   2579 	src/m68k/ffitarget.h,
   2580 	src/frv/ffitarget.h,
   2581 	src/frv/ffi.c,
   2582 	src/s390/ffitarget.h,
   2583 	src/s390/sysv.S,
   2584 	src/cris/ffitarget.h,
   2585 	src/pa/linux.S,
   2586 	src/pa/ffitarget.h,
   2587 	src/pa/ffi.c,
   2588 	src/raw_api.c,
   2589 	src/ia64/ffitarget.h,
   2590 	src/ia64/unix.S,
   2591 	src/ia64/ffi.c,
   2592 	src/ia64/ia64_flags.h,
   2593 	src/java_raw_api.c,
   2594 	src/debug.c,
   2595 	src/sparc/v9.S,
   2596 	src/sparc/ffitarget.h,
   2597 	src/sparc/ffi.c,
   2598 	src/sparc/v8.S,
   2599 	src/mips/ffitarget.h,
   2600 	src/mips/n32.S,
   2601 	src/mips/o32.S,
   2602 	src/mips/ffi.c,
   2603 	src/prep_cif.c,
   2604 	src/sh/ffitarget.h,
   2605 	src/sh/ffi.c,
   2606 	src/sh/sysv.S: Update license text.
   2607 
   2608 2009-05-22  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   2609 
   2610 	* src/x86/win32.S (_ffi_closure_STDCALL):  New function.
   2611 	(.eh_frame):  Add FDE for it.
   2612 
   2613 2009-05-22  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   2614 
   2615 	* configure.ac:  Also check if assembler supports pc-relative
   2616 	relocs on X86_WIN32 targets.
   2617 	* configure:  Regenerate.
   2618 	* src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
   2619 	(_ffi_call_SYSV):  Add missing function type symbol .def and
   2620 	add EH markup labels.
   2621 	(_ffi_call_STDCALL):  Likewise.
   2622 	(_ffi_closure_SYSV):  Likewise.
   2623 	(_ffi_closure_raw_SYSV):  Likewise.
   2624 	(.eh_frame):  Add hand-crafted EH data.
   2625 
   2626 2009-04-09  Jakub Jelinek  <jakub (a] redhat.com>
   2627 
   2628 	* testsuite/lib/libffi-dg.exp: Change copyright header to refer to
   2629 	version 3 of the GNU General Public License and to point readers
   2630 	at the COPYING3 file and the FSF's license web page.
   2631 	* testsuite/libffi.call/call.exp: Likewise.
   2632 	* testsuite/libffi.special/special.exp: Likewise.
   2633 
   2634 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   2635 
   2636 	* configure: Regenerate.
   2637 
   2638 2008-12-18  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   2639 
   2640 	PR libffi/26048
   2641 	* configure.ac (HAVE_AS_X86_PCREL): New test.
   2642 	* configure: Regenerate.
   2643 	* fficonfig.h.in: Regenerate.
   2644 	* src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
   2645 	RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
   2646 	RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
   2647 	(.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
   2648 	* src/x86/unix64.S (.Lstore_table): Move to .text section.
   2649 	(.Lload_table): Likewise.
   2650 	(.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
   2651 
   2652 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   2653 
   2654 	* configure: Regenerate.
   2655 
   2656 2008-11-21  Eric Botcazou  <ebotcazou (a] adacore.com>
   2657 
   2658 	* src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
   2659 	signed/unsigned int8/16 return values.
   2660 	* src/sparc/v8.S (ffi_call_v8): Likewise.
   2661 	(ffi_closure_v8): Likewise.
   2662 
   2663 2008-09-26  Peter O'Gorman  <pogma (a] thewrittenword.com>
   2664 	    Steve Ellcey  <sje (a] cup.hp.com>
   2665 
   2666 	* configure: Regenerate for new libtool.
   2667 	* Makefile.in: Ditto.
   2668 	* include/Makefile.in: Ditto.
   2669 	* aclocal.m4: Ditto.
   2670 
   2671 2008-08-25  Andreas Tobler  <a.tobler (a] schweiz.org>
   2672 
   2673 	* src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
   2674 	FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
   2675 	Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
   2676 	Adjust copyright notice.
   2677 	* src/powerpc/ffi.c: Add two new flags to indicate if we have one
   2678 	register or two register to use for FFI_SYSV structs.
   2679 	(ffi_prep_cif_machdep): Pass the right register flag introduced above.
   2680 	(ffi_closure_helper_SYSV): Fix the return type for
   2681 	FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
   2682 	Adjust copyright notice.
   2683 
   2684 2008-07-16  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   2685 
   2686 	* src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
   2687 	int.
   2688 
   2689 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   2690 
   2691 	* configure: Regenerate.
   2692 	* include/Makefile.in: Regenerate.
   2693 	* testsuite/Makefile.in: Regenerate.
   2694 
   2695 2008-06-07  Joseph Myers  <joseph (a] codesourcery.com>
   2696 
   2697 	* configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
   2698 	powerpc-*-beos*): Remove.
   2699 	* configure: Regenerate.
   2700 
   2701 2008-05-09  Julian Brown  <julian (a] codesourcery.com>
   2702 
   2703 	* Makefile.am (LTLDFLAGS): New.
   2704 	(libffi_la_LDFLAGS): Use above.
   2705 	* Makefile.in: Regenerate.
   2706 
   2707 2008-04-18  Paolo Bonzini  <bonzini (a] gnu.org>
   2708 
   2709 	PR bootstrap/35457
   2710 	* aclocal.m4: Regenerate.
   2711 	* configure: Regenerate.
   2712 
   2713 2008-03-26  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   2714 
   2715 	* src/sh/sysv.S: Add .note.GNU-stack on Linux.
   2716 	* src/sh64/sysv.S: Likewise.
   2717 
   2718 2008-03-26  Daniel Jacobowitz  <dan (a] debian.org>
   2719 
   2720 	* src/arm/sysv.S: Fix ARM comment marker.
   2721 
   2722 2008-03-26  Jakub Jelinek  <jakub (a] redhat.com>
   2723 
   2724 	* src/alpha/osf.S: Add .note.GNU-stack on Linux.
   2725 	* src/s390/sysv.S: Likewise.
   2726 	* src/powerpc/ppc_closure.S: Likewise.
   2727 	* src/powerpc/sysv.S: Likewise.
   2728 	* src/x86/unix64.S: Likewise.
   2729 	* src/x86/sysv.S: Likewise.
   2730 	* src/sparc/v8.S: Likewise.
   2731 	* src/sparc/v9.S: Likewise.
   2732 	* src/m68k/sysv.S: Likewise.
   2733 	* src/arm/sysv.S: Likewise.
   2734 
   2735 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   2736 
   2737 	* aclocal.m4: Regenerate.
   2738 	* configure: Likewise.
   2739 	* Makefile.in: Likewise.
   2740 	* include/Makefile.in: Likewise.
   2741 	* testsuite/Makefile.in: Likewise.
   2742 
   2743 2008-02-12  Bjoern Koenig  <bkoenig (a] alpha-tierchen.de>
   2744 	    Andreas Tobler  <a.tobler (a] schweiz.org>
   2745 
   2746 	* configure.ac: Add amd64-*-freebsd* target.
   2747 	* configure: Regenerate.
   2748 
   2749 2008-01-30  H.J. Lu  <hongjiu.lu (a] intel.com>
   2750 
   2751 	PR libffi/34612
   2752 	* src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
   2753 	returning struct.
   2754 
   2755 	* testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
   2756 	tests.
   2757 
   2758 2008-01-24  David Edelsohn  <edelsohn (a] gnu.org>
   2759 
   2760 	* configure: Regenerate.
   2761 
   2762 2008-01-06  Andreas Tobler  <a.tobler (a] schweiz.org>
   2763 
   2764 	* src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
   2765 
   2766 2008-01-05  Andreas Tobler  <a.tobler (a] schweiz.org>
   2767 
   2768 	PR testsuite/32843
   2769 	* src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
   2770 	signed/unsigned int8/16 for X86_DARWIN.
   2771 	Updated copyright info.
   2772 	Handle one and two byte structs with special cif->flags.
   2773 	* src/x86/ffitarget.h: Add special types for one and two byte structs.
   2774 	Updated copyright info.
   2775 	* src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
   2776 	sysv.S
   2777 	Remove code to pop args from the stack after call.
   2778 	Special-case signed/unsigned for int8/16, one and two byte structs.
   2779 	(ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
   2780 	FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
   2781 	FFI_TYPE_SINT32.
   2782 	Updated copyright info.
   2783 
   2784 2007-12-08  David Daney  <ddaney (a] avtrex.com>
   2785 
   2786 	* src/mips/n32.S (ffi_call_N32):  Replace dadd with ADDU, dsub with
   2787 	SUBU, add with ADDU and use smaller code sequences.
   2788 
   2789 2007-12-07  David Daney  <ddaney (a] avtrex.com>
   2790 
   2791 	* src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
   2792 	type.
   2793 
   2794 2007-12-06  David Daney  <ddaney (a] avtrex.com>
   2795 
   2796 	* include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not	already
   2797 	defined.
   2798 	(ffi_java_raw): New typedef.
   2799 	(ffi_java_raw_call, ffi_java_ptrarray_to_raw,
   2800 	ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
   2801 	ffi_java_raw.
   2802 	(ffi_java_raw_closure) : Same.
   2803 	(ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
   2804 	parameter types.
   2805 	* src/java_raw_api.c (ffi_java_raw_size):  Replace FFI_SIZEOF_ARG with
   2806 	FFI_SIZEOF_JAVA_RAW.
   2807 	(ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
   2808 	Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
   2809 	sizeof(ffi_java_raw) for alignment calculations.
   2810 	(ffi_java_ptrarray_to_raw): Same.
   2811 	(ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
   2812 	if FFI_SIZEOF_JAVA_RAW == 4.
   2813 	(ffi_java_raw_to_rvalue): Same.
   2814 	(ffi_java_raw_call): Change type of raw to ffi_java_raw.
   2815 	(ffi_java_translate_args): Same.
   2816 	(ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
   2817 	parameter types.
   2818 	* src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
   2819 
   2820 2007-12-06  David Daney  <ddaney (a] avtrex.com>
   2821 
   2822 	* src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
   2823 	pointer values.
   2824 
   2825 2007-12-01  Andreas Tobler  <a.tobler (a] schweiz.org>
   2826 
   2827 	PR libffi/31937
   2828 	* src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
   2829 	Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
   2830 	* src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
   2831 	set the NUM_FPR_ARG_REGISTERS according to.
   2832 	Add support for potential soft-float support under hard-float
   2833 	architecture.
   2834 	(ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
   2835 	FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
   2836 	to the FFI_LINUX_SOFT_FLOAT ABI.
   2837 	(ffi_prep_cif_machdep): Likewise.
   2838 	(ffi_closure_helper_SYSV): Likewise.
   2839 	* src/powerpc/ppc_closure.S: Make sure not to store float/double
   2840 	on archs where __NO_FPRS__ is true.
   2841 	Add FFI_TYPE_UINT128 support.
   2842 	* src/powerpc/sysv.S: Add support for soft-float long-double-128.
   2843 	Adjust copyright notice.
   2844 
   2845 2007-11-25  Andreas Tobler  <a.tobler (a] schweiz.org>
   2846 
   2847 	* src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
   2848 	* include/ffi_common.h: ... here.
   2849 	Update copyright.
   2850 
   2851 2007-11-17  Andreas Tobler  <a.tobler (a] schweiz.org>
   2852 
   2853 	* src/powerpc/sysv.S: Load correct cr to compare if we have long double.
   2854 	* src/powerpc/linux64.S: Likewise.
   2855 	* src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
   2856 	* testsuite/libffi.call/return_ldl.c: New test.
   2857 
   2858 2007-09-04    <aph (a] redhat.com>
   2859 
   2860 	* src/arm/sysv.S (UNWIND): New.
   2861 	(Whole file): Conditionally compile unwinder directives.
   2862 	* src/arm/sysv.S: Add unwinder directives.
   2863 
   2864 	* src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
   2865 	Only treat r0 as a struct address if we're actually returning a
   2866 	struct by address.
   2867 	Only copy the bytes that are actually within a struct.
   2868 	(ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
   2869 	is returned in r0, not passed by address.
   2870 	(ffi_call): Allocate a word-sized temporary for the case where
   2871 	a composite is returned in r0.
   2872 	(ffi_prep_incoming_args_SYSV): Align as necessary.
   2873 
   2874 2007-08-05  Steven Newbury  <s_j_newbury (a] yahoo.co.uk>
   2875 
   2876 	* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
   2877 	directly using the sys_cacheflush syscall.
   2878 
   2879 2007-07-27  Andrew Haley  <aph (a] redhat.com>
   2880 
   2881 	* src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
   2882 
   2883 2007-09-03  Maciej W. Rozycki  <macro (a] linux-mips.org>
   2884 
   2885 	* Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
   2886 	* configure.ac: Likewise.
   2887 	* Makefile.in: Regenerate.
   2888 	* include/Makefile.in: Likewise.
   2889 	* testsuite/Makefile.in: Likewise.
   2890 	* configure: Likewise.
   2891 
   2892 2007-08-24  David Daney  <ddaney (a] avtrex.com>
   2893 
   2894 	* testsuite/libffi.call/return_sl.c: New test.
   2895 
   2896 2007-08-10  David Daney  <ddaney (a] avtrex.com>
   2897 
   2898 	* testsuite/libffi.call/cls_multi_ushort.c,
   2899 	testsuite/libffi.call/cls_align_uint16.c,
   2900 	testsuite/libffi.call/nested_struct1.c,
   2901 	testsuite/libffi.call/nested_struct3.c,
   2902 	testsuite/libffi.call/cls_7_1_byte.c,
   2903 	testsuite/libffi.call/nested_struct5.c,
   2904 	testsuite/libffi.call/cls_double.c,
   2905 	testsuite/libffi.call/nested_struct7.c,
   2906 	testsuite/libffi.call/cls_sint.c,
   2907 	testsuite/libffi.call/nested_struct9.c,
   2908 	testsuite/libffi.call/cls_20byte1.c,
   2909 	testsuite/libffi.call/cls_multi_sshortchar.c,
   2910 	testsuite/libffi.call/cls_align_sint64.c,
   2911 	testsuite/libffi.call/cls_3byte2.c,
   2912 	testsuite/libffi.call/cls_multi_schar.c,
   2913 	testsuite/libffi.call/cls_multi_uchar.c,
   2914 	testsuite/libffi.call/cls_19byte.c,
   2915 	testsuite/libffi.call/cls_9byte1.c,
   2916 	testsuite/libffi.call/cls_align_float.c,
   2917 	testsuite/libffi.call/closure_fn1.c,
   2918 	testsuite/libffi.call/problem1.c,
   2919 	testsuite/libffi.call/closure_fn3.c,
   2920 	testsuite/libffi.call/cls_sshort.c,
   2921 	testsuite/libffi.call/closure_fn5.c,
   2922 	testsuite/libffi.call/cls_align_double.c,
   2923 	testsuite/libffi.call/nested_struct.c,
   2924 	testsuite/libffi.call/cls_2byte.c,
   2925 	testsuite/libffi.call/nested_struct10.c,
   2926 	testsuite/libffi.call/cls_4byte.c,
   2927 	testsuite/libffi.call/cls_6byte.c,
   2928 	testsuite/libffi.call/cls_8byte.c,
   2929 	testsuite/libffi.call/cls_multi_sshort.c,
   2930 	testsuite/libffi.call/cls_align_sint16.c,
   2931 	testsuite/libffi.call/cls_align_uint32.c,
   2932 	testsuite/libffi.call/cls_20byte.c,
   2933 	testsuite/libffi.call/cls_float.c,
   2934 	testsuite/libffi.call/nested_struct2.c,
   2935 	testsuite/libffi.call/cls_5_1_byte.c,
   2936 	testsuite/libffi.call/nested_struct4.c,
   2937 	testsuite/libffi.call/cls_24byte.c,
   2938 	testsuite/libffi.call/nested_struct6.c,
   2939 	testsuite/libffi.call/cls_64byte.c,
   2940 	testsuite/libffi.call/nested_struct8.c,
   2941 	testsuite/libffi.call/cls_uint.c,
   2942 	testsuite/libffi.call/cls_multi_ushortchar.c,
   2943 	testsuite/libffi.call/cls_schar.c,
   2944 	testsuite/libffi.call/cls_uchar.c,
   2945 	testsuite/libffi.call/cls_align_uint64.c,
   2946 	testsuite/libffi.call/cls_ulonglong.c,
   2947 	testsuite/libffi.call/cls_align_longdouble.c,
   2948 	testsuite/libffi.call/cls_1_1byte.c,
   2949 	testsuite/libffi.call/cls_12byte.c,
   2950 	testsuite/libffi.call/cls_3_1byte.c,
   2951 	testsuite/libffi.call/cls_3byte1.c,
   2952 	testsuite/libffi.call/cls_4_1byte.c,
   2953 	testsuite/libffi.call/cls_6_1_byte.c,
   2954 	testsuite/libffi.call/cls_16byte.c,
   2955 	testsuite/libffi.call/cls_18byte.c,
   2956 	testsuite/libffi.call/closure_fn0.c,
   2957 	testsuite/libffi.call/cls_9byte2.c,
   2958 	testsuite/libffi.call/closure_fn2.c,
   2959 	testsuite/libffi.call/closure_fn4.c,
   2960 	testsuite/libffi.call/cls_ushort.c,
   2961 	testsuite/libffi.call/closure_fn6.c,
   2962 	testsuite/libffi.call/cls_5byte.c,
   2963 	testsuite/libffi.call/cls_align_pointer.c,
   2964 	testsuite/libffi.call/cls_7byte.c,
   2965 	testsuite/libffi.call/cls_align_sint32.c,
   2966 	testsuite/libffi.special/unwindtest_ffi_call.cc,
   2967 	testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.
   2968 
   2969 2007-08-10  David Daney  <ddaney (a] avtrex.com>
   2970 
   2971 	PR libffi/28313
   2972 	* configure.ac: Don't treat mips64 as a special case.
   2973 	* Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
   2974 	* configure: Regenerate
   2975 	* Makefile.in: Ditto.
   2976 	* fficonfig.h.in: Ditto.
   2977 	* src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
   2978 	(LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
   2979 	(FFI_DEFAULT_ABI): Set for n64 case.
   2980 	(FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
   2981 	* src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
   2982 	(ffi_closure_N32): New function.
   2983 	(.eh_frame): New section
   2984 	* src/mips/o32.S: Clean up comments.
   2985 	(ffi_closure_O32): Pass ffi_closure parameter in $12.
   2986 	* src/mips/ffi.c: Use FFI_MIPS_N32 instead of
   2987 	_MIPS_SIM == _ABIN32 throughout.
   2988 	(FFI_MIPS_STOP_HERE): New, use in place of
   2989 	ffi_stop_here.
   2990 	(ffi_prep_args): Use unsigned long to hold pointer values.  Rewrite
   2991 	to support n32/n64 ABIs.
   2992 	(calc_n32_struct_flags): Rewrite.
   2993 	(calc_n32_return_struct_flags): Remove unused variable.  Reverse
   2994 	position of flag bits.
   2995 	(ffi_prep_cif_machdep): Rewrite n32 portion.
   2996 	(ffi_call): Enable for n64.  Add special handling for small structure
   2997 	return values.
   2998 	(ffi_prep_closure_loc): Add n32 and n64 support.
   2999 	(ffi_closure_mips_inner_O32): Add cast to silence warning.
   3000 	(copy_struct_N32, ffi_closure_mips_inner_N32): New functions.
   3001 
   3002 2007-08-08  David Daney  <ddaney (a] avtrex.com>
   3003 
   3004 	* testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
   3005 	* testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
   3006 	specifiers.
   3007 	* testsuite/libffi.call/nested_struct1.c (main): Ditto.
   3008 	* testsuite/libffi.call/cls_sint.c (main): Ditto.
   3009 	* testsuite/libffi.call/nested_struct9.c (main): Ditto.
   3010 	* testsuite/libffi.call/cls_20byte1.c (main): Ditto.
   3011 	* testsuite/libffi.call/cls_9byte1.c (main): Ditto.
   3012 	* testsuite/libffi.call/closure_fn1.c (main): Ditto.
   3013 	* testsuite/libffi.call/closure_fn3.c (main): Ditto.
   3014 	* testsuite/libffi.call/return_dbl2.c (main): Ditto.
   3015 	* testsuite/libffi.call/cls_sshort.c (main): Ditto.
   3016 	* testsuite/libffi.call/return_fl3.c (main): Ditto.
   3017 	* testsuite/libffi.call/closure_fn5.c (main): Ditto.
   3018 	* testsuite/libffi.call/nested_struct.c (main): Ditto.
   3019 	* testsuite/libffi.call/nested_struct10.c (main): Ditto.
   3020 	* testsuite/libffi.call/return_ll1.c (main): Ditto.
   3021 	* testsuite/libffi.call/cls_8byte.c (main): Ditto.
   3022 	* testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
   3023 	* testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
   3024 	* testsuite/libffi.call/cls_20byte.c (main): Ditto.
   3025 	* testsuite/libffi.call/nested_struct2.c (main): Ditto.
   3026 	* testsuite/libffi.call/cls_24byte.c (main): Ditto.
   3027 	* testsuite/libffi.call/nested_struct6.c (main): Ditto.
   3028 	* testsuite/libffi.call/cls_uint.c (main): Ditto.
   3029 	* testsuite/libffi.call/cls_12byte.c (main): Ditto.
   3030 	* testsuite/libffi.call/cls_16byte.c (main): Ditto.
   3031 	* testsuite/libffi.call/closure_fn0.c (main): Ditto.
   3032 	* testsuite/libffi.call/cls_9byte2.c (main): Ditto.
   3033 	* testsuite/libffi.call/closure_fn2.c (main): Ditto.
   3034 	* testsuite/libffi.call/return_dbl1.c (main): Ditto.
   3035 	* testsuite/libffi.call/closure_fn4.c (main): Ditto.
   3036 	* testsuite/libffi.call/closure_fn6.c (main): Ditto.
   3037 	* testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
   3038 
   3039 2007-08-07  Andrew Haley  <aph (a] redhat.com>
   3040 
   3041 	* src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
   3042 	checkin.
   3043 
   3044 2007-08-06  Andrew Haley  <aph (a] redhat.com>
   3045 
   3046 	PR testsuite/32843
   3047 	* src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
   3048 	FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
   3049 	FFI_TYPE_SINT32.
   3050 
   3051 2007-08-02  David Daney  <ddaney (a] avtrex.com>
   3052 
   3053 	* testsuite/libffi.call/return_ul.c (main): Define return type as
   3054 	ffi_arg.  Use proper printf conversion specifier.
   3055 
   3056 2007-07-30  Andrew Haley  <aph (a] redhat.com>
   3057 
   3058 	PR testsuite/32843
   3059 	* src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for
   3060 	signed/unsigned int8/16.
   3061 	* src/x86/sysv.S (ffi_call_SYSV): Rewrite to:
   3062 	Use a jump table.
   3063 	Remove code to pop args from the stack after call.
   3064 	Special-case signed/unsigned int8/16.
   3065 	* testsuite/libffi.call/return_sc.c (main): Revert.
   3066 
   3067 2007-07-26  Richard Guenther  <rguenther (a] suse.de>
   3068 
   3069 	PR testsuite/32843
   3070 	* testsuite/libffi.call/return_sc.c (main): Verify call
   3071 	result as signed char, not ffi_arg.
   3072 
   3073 2007-07-16  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   3074 
   3075 	* configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
   3076 	* configure: Regenerate.
   3077 
   3078 2007-07-11  David Daney  <ddaney (a] avtrex.com>
   3079 
   3080 	* src/mips/ffi.c: Don't include sys/cachectl.h.
   3081 	(ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
   3082 	cacheflush().
   3083 
   3084 2007-05-18  Aurelien Jarno  <aurelien (a] aurel32.net>
   3085 
   3086 	* src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
   3087 	from (ffi_prep_closure): ... this.
   3088 	(FFI_INIT_TRAMPOLINE): Adjust.
   3089 
   3090 2005-12-31  Phil Blundell  <pb (a] reciva.com>
   3091 
   3092 	* src/arm/ffi.c (ffi_prep_incoming_args_SYSV,
   3093 	ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
   3094 	* src/arm/sysv.S(ffi_closure_SYSV): Likewise.
   3095 	* src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
   3096 	(FFI_CLOSURES): Enable closure support.
   3097 
   3098 2007-07-03  Andrew Haley  <aph (a] hedges.billgatliff.com>
   3099 
   3100 	* testsuite/libffi.call/cls_multi_ushort.c,
   3101 	testsuite/libffi.call/cls_align_uint16.c,
   3102 	testsuite/libffi.call/nested_struct1.c,
   3103 	testsuite/libffi.call/nested_struct3.c,
   3104 	testsuite/libffi.call/cls_7_1_byte.c,
   3105 	testsuite/libffi.call/cls_double.c,
   3106 	testsuite/libffi.call/nested_struct5.c,
   3107 	testsuite/libffi.call/nested_struct7.c,
   3108 	testsuite/libffi.call/cls_sint.c,
   3109 	testsuite/libffi.call/nested_struct9.c,
   3110 	testsuite/libffi.call/cls_20byte1.c,
   3111 	testsuite/libffi.call/cls_multi_sshortchar.c,
   3112 	testsuite/libffi.call/cls_align_sint64.c,
   3113 	testsuite/libffi.call/cls_3byte2.c,
   3114 	testsuite/libffi.call/cls_multi_schar.c,
   3115 	testsuite/libffi.call/cls_multi_uchar.c,
   3116 	testsuite/libffi.call/cls_19byte.c,
   3117 	testsuite/libffi.call/cls_9byte1.c,
   3118 	testsuite/libffi.call/cls_align_float.c,
   3119 	testsuite/libffi.call/closure_fn1.c,
   3120 	testsuite/libffi.call/problem1.c,
   3121 	testsuite/libffi.call/closure_fn3.c,
   3122 	testsuite/libffi.call/cls_sshort.c,
   3123 	testsuite/libffi.call/closure_fn5.c,
   3124 	testsuite/libffi.call/cls_align_double.c,
   3125 	testsuite/libffi.call/cls_2byte.c,
   3126 	testsuite/libffi.call/nested_struct.c,
   3127 	testsuite/libffi.call/nested_struct10.c,
   3128 	testsuite/libffi.call/cls_4byte.c,
   3129 	testsuite/libffi.call/cls_6byte.c,
   3130 	testsuite/libffi.call/cls_8byte.c,
   3131 	testsuite/libffi.call/cls_multi_sshort.c,
   3132 	testsuite/libffi.call/cls_align_uint32.c,
   3133 	testsuite/libffi.call/cls_align_sint16.c,
   3134 	testsuite/libffi.call/cls_float.c,
   3135 	testsuite/libffi.call/cls_20byte.c,
   3136 	testsuite/libffi.call/cls_5_1_byte.c,
   3137 	testsuite/libffi.call/nested_struct2.c,
   3138 	testsuite/libffi.call/cls_24byte.c,
   3139 	testsuite/libffi.call/nested_struct4.c,
   3140 	testsuite/libffi.call/nested_struct6.c,
   3141 	testsuite/libffi.call/cls_64byte.c,
   3142 	testsuite/libffi.call/nested_struct8.c,
   3143 	testsuite/libffi.call/cls_uint.c,
   3144 	testsuite/libffi.call/cls_multi_ushortchar.c,
   3145 	testsuite/libffi.call/cls_schar.c,
   3146 	testsuite/libffi.call/cls_uchar.c,
   3147 	testsuite/libffi.call/cls_align_uint64.c,
   3148 	testsuite/libffi.call/cls_ulonglong.c,
   3149 	testsuite/libffi.call/cls_align_longdouble.c,
   3150 	testsuite/libffi.call/cls_1_1byte.c,
   3151 	testsuite/libffi.call/cls_12byte.c,
   3152 	testsuite/libffi.call/cls_3_1byte.c,
   3153 	testsuite/libffi.call/cls_3byte1.c,
   3154 	testsuite/libffi.call/cls_4_1byte.c,
   3155 	testsuite/libffi.call/cls_6_1_byte.c,
   3156 	testsuite/libffi.call/cls_16byte.c,
   3157 	testsuite/libffi.call/cls_18byte.c,
   3158 	testsuite/libffi.call/closure_fn0.c,
   3159 	testsuite/libffi.call/cls_9byte2.c,
   3160 	testsuite/libffi.call/closure_fn2.c,
   3161 	testsuite/libffi.call/closure_fn4.c,
   3162 	testsuite/libffi.call/cls_ushort.c,
   3163 	testsuite/libffi.call/closure_fn6.c,
   3164 	testsuite/libffi.call/cls_5byte.c,
   3165 	testsuite/libffi.call/cls_align_pointer.c,
   3166 	testsuite/libffi.call/cls_7byte.c,
   3167 	testsuite/libffi.call/cls_align_sint32.c,
   3168 	testsuite/libffi.special/unwindtest_ffi_call.cc,
   3169 	testsuite/libffi.special/unwindtest.cc: Enable for ARM.
   3170 
   3171 2007-07-05  H.J. Lu  <hongjiu.lu (a] intel.com>
   3172 
   3173 	* aclocal.m4: Regenerated.
   3174 
   3175 2007-06-02  Paolo Bonzini  <bonzini (a] gnu.org>
   3176 
   3177 	* configure: Regenerate.
   3178 
   3179 2007-05-23  Steve Ellcey  <sje (a] cup.hp.com>
   3180 
   3181 	* Makefile.in: Regenerate.
   3182 	* configure: Regenerate.
   3183 	* aclocal.m4: Regenerate.
   3184 	* include/Makefile.in: Regenerate.
   3185 	* testsuite/Makefile.in: Regenerate.
   3186 
   3187 2007-05-10  Roman Zippel <zippel (a] linux-m68k.org>
   3188 
   3189 	* src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
   3190 	ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
   3191 	* src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
   3192 	* src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
   3193 	(FFI_CLOSURES): Enable closure support.
   3194 
   3195 2007-05-10  Roman Zippel <zippel (a] linux-m68k.org>
   3196 
   3197 	* configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
   3198 	* configure: Regenerate.
   3199 	* fficonfig.h.in: Regenerate.
   3200 	* src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
   3201 	CFI_OFFSET,CFI_DEF_CFA): New macros.
   3202 	(ffi_call_SYSV): Add callframe annotation.
   3203 
   3204 2007-05-10  Roman Zippel <zippel (a] linux-m68k.org>
   3205 
   3206 	* src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
   3207 	numerous test suite failures.
   3208 	* src/m68k/sysv.S (ffi_call_SYSV): Likewise.
   3209 
   3210 2007-04-11  Paolo Bonzini  <bonzini (a] gnu.org>
   3211 
   3212 	* Makefile.am (EXTRA_DIST): Bring up to date.
   3213 	* Makefile.in: Regenerate.
   3214 	* src/frv/eabi.S: Remove RCS keyword.
   3215 
   3216 2007-04-06  Richard Henderson  <rth (a] redhat.com>
   3217 
   3218 	* configure.ac: Tidy target case.
   3219 	(HAVE_LONG_DOUBLE): Allow the target to override.
   3220 	* configure: Regenerate.
   3221 	* include/ffi.h.in: Don't define ffi_type_foo if
   3222 	LIBFFI_HIDE_BASIC_TYPES is defined.
   3223 	(ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
   3224 	to ffi_type_double.
   3225 	* types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
   3226 	(FFI_TYPEDEF, ffi_type_void): Mark the data const.
   3227 	(ffi_type_longdouble): Special case for Alpha.  Don't define
   3228 	if long double == double.
   3229 
   3230 	* src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
   3231 	(ffi_prep_cif_machdep): Handle it as the 128-bit type.
   3232 	(ffi_call, ffi_closure_osf_inner): Likewise.
   3233 	(ffi_closure_osf_inner): Likewise.  Mark hidden.
   3234 	(ffi_call_osf, ffi_closure_osf): Mark hidden.
   3235 	* src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
   3236 	* src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
   3237 	(load_table): Handle 128-bit long double.
   3238 
   3239 	* testsuite/libffi.call/float4.c: Add -mieee for alpha.
   3240 
   3241 2007-04-06  Tom Tromey  <tromey (a] redhat.com>
   3242 
   3243 	PR libffi/31491:
   3244 	* README: Fixed bug in example.
   3245 
   3246 2007-04-03  Jakub Jelinek  <jakub (a] redhat.com>
   3247 
   3248 	* src/closures.c: Include sys/statfs.h.
   3249 	(_GNU_SOURCE): Define on Linux.
   3250 	(FFI_MMAP_EXEC_SELINUX): Define.
   3251 	(selinux_enabled): New variable.
   3252 	(selinux_enabled_check): New function.
   3253 	(is_selinux_enabled): Define.
   3254 	(dlmmap): Use it.
   3255 
   3256 2007-03-24  Uros Bizjak  <ubizjak (a] gmail.com>
   3257 
   3258 	* testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
   3259 	Use 'volatile float sum' to create sum of floats to avoid false
   3260 	negative due to excess precision on ix86 targets.
   3261 	(main): Ditto.
   3262 
   3263 2007-03-08  Alexandre Oliva  <aoliva (a] redhat.com>
   3264 
   3265 	* src/powerpc/ffi.c (flush_icache): Fix left-over from previous
   3266 	patch.
   3267 	(ffi_prep_closure_loc): Remove unneeded casts.  Add needed ones.
   3268 
   3269 2007-03-07  Alexandre Oliva  <aoliva (a] redhat.com>
   3270 
   3271 	* include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
   3272 	(ffi_prep_closure_loc): New.
   3273 	(ffi_prep_raw_closure_loc): New.
   3274 	(ffi_prep_java_raw_closure_loc): New.
   3275 	* src/closures.c: New file.
   3276 	* src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
   3277 	Replace sflags with exec_offset.
   3278 	[FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
   3279 	sub_segment_exec_offset): New macros.
   3280 	(get_segment_flags, set_segment_flags, check_segment_merge): New
   3281 	macros.
   3282 	(is_mmapped_segment, is_extern_segment): Use get_segment_flags.
   3283 	(add_segment, sys_alloc, create_mspace, create_mspace_with_base,
   3284 	destroy_mspace): Use new macros.
   3285 	(sys_alloc): Silence warning.
   3286 	* Makefile.am (libffi_la_SOURCES): Add src/closures.c.
   3287 	* Makefile.in: Rebuilt.
   3288 	* src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
   3289 	terms of ffi_prep_closure_loc.
   3290 	* src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
   3291 	from...
   3292 	(ffi_prep_raw_closure): ... this.  Re-implement in terms of the
   3293 	renamed version.
   3294 	* src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
   3295 	adjusted from...
   3296 	(ffi_prep_java_raw_closure): ... this.  Re-implement in terms of
   3297 	the renamed version.
   3298 	* src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
   3299 	(ffi_prep_closure): ... this.
   3300 	* src/pa/ffi.c: Likewise.
   3301 	* src/cris/ffi.c: Likewise.  Adjust.
   3302 	* src/frv/ffi.c: Likewise.
   3303 	* src/ia64/ffi.c: Likewise.
   3304 	* src/mips/ffi.c: Likewise.
   3305 	* src/powerpc/ffi_darwin.c: Likewise.
   3306 	* src/s390/ffi.c: Likewise.
   3307 	* src/sh/ffi.c: Likewise.
   3308 	* src/sh64/ffi.c: Likewise.
   3309 	* src/sparc/ffi.c: Likewise.
   3310 	* src/x86/ffi64.c: Likewise.
   3311 	* src/x86/ffi.c: Likewise.
   3312 	(FFI_INIT_TRAMPOLINE): Adjust.
   3313 	(ffi_prep_raw_closure_loc): Renamed and adjusted from...
   3314 	(ffi_prep_raw_closure): ... this.
   3315 	* src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
   3316 	(ffi_prep_closure): ... this.
   3317 	(flush_icache): Adjust.
   3318 
   3319 2007-03-07  Alexandre Oliva  <aoliva (a] redhat.com>
   3320 
   3321 	* src/dlmalloc.c: New file, imported version 2.8.3 of Doug
   3322 	Lea's malloc.
   3323 
   3324 2007-03-01  Brooks Moses  <brooks.moses (a] codesourcery.com>
   3325 
   3326 	* Makefile.am: Add dummy install-pdf target.
   3327 	* Makefile.in: Regenerate
   3328 
   3329 2007-02-13  Andreas Krebbel  <krebbel1 (a] de.ibm.com>
   3330 
   3331 	* src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
   3332 	ffi_closure_helper_SYSV): Add long double handling.
   3333 
   3334 2007-02-02  Jakub Jelinek  <jakub (a] redhat.com>
   3335 
   3336 	* src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
   3337 	immediately after bctrl instruction.
   3338 
   3339 2007-01-18  Alexandre Oliva  <aoliva (a] redhat.com>
   3340 
   3341 	* Makefile.am (all-recursive, install-recursive,
   3342 	mostlyclean-recursive, clean-recursive, distclean-recursive,
   3343 	maintainer-clean-recursive): Add missing targets.
   3344 	* Makefile.in: Rebuilt.
   3345 
   3346 2006-12-14  Andreas Tobler  <a.tobler (a] schweiz.org>
   3347 
   3348 	* configure.ac: Add TARGET for x86_64-*-darwin*.
   3349 	* Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
   3350 	for X86_DARWIN.
   3351 	* src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
   3352 	* src/x86/darwin64.S: New file for x86_64-*-darwin* support.
   3353 	* configure: Regenerate.
   3354 	* Makefile.in: Regenerate.
   3355 	* include/Makefile.in: Regenerate.
   3356 	* testsuite/Makefile.in: Regenerate.
   3357 	* testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
   3358 	ffi_call only.
   3359 
   3360 2006-12-13  Andreas Tobler <a.tobler (a] schweiz.org>
   3361 
   3362 	* aclocal.m4: Regenerate with aclocal -I .. as written in the
   3363 	Makefile.am.
   3364 
   3365 2006-10-31  Geoffrey Keating  <geoffk (a] apple.com>
   3366 
   3367 	* src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
   3368 	(ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
   3369 	Darwin.
   3370 	* testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
   3371 	* testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
   3372 
   3373 2006-10-10  Paolo Bonzini  <bonzini (a] gnu.org>
   3374 	    Sandro Tolaini  <tolaini (a] libero.it>
   3375 
   3376 	* configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
   3377 	conditional.
   3378 	* configure: Regenerated.
   3379 	* Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
   3380 	(EXTRA_DIST): Add src/x86/darwin.S.
   3381 	* Makefile.in: Regenerated.
   3382 	* include/Makefile.in: Regenerated.
   3383 	* testsuite/Makefile.in: Regenerated.
   3384 
   3385 	* src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
   3386 	X86_WIN32, and additionally align stack to 16 bytes.
   3387 	* src/x86/darwin.S: New, based on sysv.S.
   3388 	* src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
   3389 
   3390 2006-09-12  David Daney  <ddaney (a] avtrex.com>
   3391 
   3392 	PR libffi/23935
   3393 	* include/Makefile.am: Install both ffi.h and ffitarget.h in
   3394 	$(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
   3395 	* aclocal.m4: Regenerated for automake 1.9.6.
   3396 	* Makefile.in: Regenerated.
   3397 	* include/Makefile.in: Regenerated.
   3398 	* testsuite/Makefile.in: Regenerated.
   3399 
   3400 2006-08-17  Andreas Tobler  <a.tobler (a] schweiz.ch>
   3401 
   3402 	* include/ffi_common.h (struct): Revert accidental commit.
   3403 
   3404 2006-08-15  Andreas Tobler  <a.tobler (a] schweiz.ch>
   3405 
   3406 	* include/ffi_common.h: Remove lint directives.
   3407 	* include/ffi.h.in: Likewise.
   3408 
   3409 2006-07-25  Torsten Schoenfeld  <kaffeetisch (a] gmx.de>
   3410 
   3411 	* include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
   3412 	for 32-bit architectures.
   3413 	* testsuite/libffi.call/return_ul.c: New test case.
   3414 
   3415 2006-07-19  David Daney  <ddaney (a] avtrex.com>
   3416 
   3417 	* testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
   3418 	xfail remains for mips64.
   3419 
   3420 2006-05-23  Carlos O'Donell  <carlos (a] codesourcery.com>
   3421 
   3422 	* Makefile.am: Add install-html target. Add install-html to .PHONY
   3423 	* Makefile.in: Regenerate.
   3424 	* aclocal.m4: Regenerate.
   3425 	* include/Makefile.in: Regenerate.
   3426 	* testsuite/Makefile.in: Regenerate.
   3427 
   3428 2006-05-18  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   3429 
   3430 	* pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
   3431 	stack slot.
   3432 
   3433 2006-04-22  Andreas Tobler  <a.tobler (a] schweiz.ch>
   3434 
   3435 	* README: Remove notice about 'Crazy Comments'.
   3436 	* src/debug.c: Remove lint directives. Cleanup white spaces.
   3437 	* src/java_raw_api.c: Likewise.
   3438 	* src/prep_cif.c: Likewise.
   3439 	* src/raw_api.c: Likewise.
   3440 	* src/ffitest.c: Delete. No longer needed, all test cases migrated
   3441 	to the testsuite.
   3442 	* src/arm/ffi.c: Remove lint directives.
   3443 	* src/m32r/ffi.c: Likewise.
   3444 	* src/pa/ffi.c: Likewise.
   3445 	* src/powerpc/ffi.c: Likewise.
   3446 	* src/powerpc/ffi_darwin.c: Likewise.
   3447 	* src/sh/ffi.c: Likewise.
   3448 	* src/sh64/ffi.c: Likewise.
   3449 	* src/x86/ffi.c: Likewise.
   3450 	* testsuite/libffi.call/float2.c: Likewise.
   3451 	* testsuite/libffi.call/promotion.c: Likewise.
   3452 	* testsuite/libffi.call/struct1.c: Likewise.
   3453 
   3454 2006-04-13  Andreas Tobler  <a.tobler (a] schweiz.ch>
   3455 
   3456 	* src/pa/hpux32.S: Correct unwind offset calculation for
   3457 	ffi_closure_pa32.
   3458 	* src/pa/linux.S: Likewise.
   3459 
   3460 2006-04-12  James E Wilson  <wilson (a] specifix.com>
   3461 
   3462 	PR libgcj/26483
   3463 	* src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
   3464 	(hfa_type_load): Call stf_spill.
   3465 	(hfa_type_store): Call ldf_fill.
   3466 	(ffi_call): Adjust calls to above routines.  Add local temps for
   3467 	macro result.
   3468 
   3469 2006-04-10  Matthias Klose  <doko (a] debian.org>
   3470 
   3471 	* testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
   3472 	directory names containing underscores.
   3473 
   3474 2006-04-07  James E Wilson  <wilson (a] specifix.com>
   3475 
   3476 	* testsuite/libffi.call/float4.c: New testcase.
   3477 
   3478 2006-04-05  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   3479 	    Andreas Tobler  <a.tobler (a] schweiz.ch>
   3480 
   3481 	* Makefile.am: Add PA_HPUX port.
   3482 	* Makefile.in: Regenerate.
   3483 	* include/Makefile.in: Likewise.
   3484 	* testsuite/Makefile.in: Likewise.
   3485 	* configure.ac: Add PA_HPUX rules.
   3486 	* configure: Regenerate.
   3487 	* src/pa/ffitarget.h: Rename linux target to PA_LINUX.
   3488 	Add PA_HPUX and PA64_HPUX.
   3489 	Rename FFI_LINUX ABI to FFI_PA32 ABI.
   3490 	(FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
   3491 	(FFI_TYPE_SMALL_STRUCT2): Define.
   3492 	(FFI_TYPE_SMALL_STRUCT4): Likewise.
   3493 	(FFI_TYPE_SMALL_STRUCT8): Likewise.
   3494 	(FFI_TYPE_SMALL_STRUCT3): Redefine.
   3495 	(FFI_TYPE_SMALL_STRUCT5): Likewise.
   3496 	(FFI_TYPE_SMALL_STRUCT6): Likewise.
   3497 	(FFI_TYPE_SMALL_STRUCT7): Likewise.
   3498 	* src/pa/ffi.c (ROUND_DOWN): Delete.
   3499 	(fldw, fstw, fldd, fstd): Use '__asm__'.
   3500 	(ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
   3501 	FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
   3502 	(ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
   3503 	Simplify incrementing of stack slot variable. Change type of local
   3504 	'n' to unsigned int.
   3505 	(ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
   3506 	double on PA_HPUX.
   3507 	(ffi_prep_cif_machdep): Likewise.
   3508 	(ffi_call): Likewise.
   3509 	(ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
   3510 	return type to ffi_status. Simplify incrementing of stack slot
   3511 	variable. Only copy floating point argument registers when PA_LINUX
   3512 	is true. Reformat debug statement.
   3513 	Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
   3514 	FFI_TYPE_SMALL_STRUCT8.
   3515 	(ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
   3516 	declaration.
   3517 	(ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
   3518 	Add nops to cache flush.  Add trampoline for PA_HPUX.
   3519 	* src/pa/hpux32.S: New file.
   3520 	* src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
   3521 	ffi_prep_args_LINUX to ffi_prep_args_pa32.
   3522 	Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
   3523 	unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
   3524 	argument type checks so that common argument types appear first.
   3525 	(ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
   3526 	ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
   3527 
   3528 2006-03-24  Alan Modra  <amodra (a] bigpond.net.au>
   3529 
   3530 	* src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
   3531 	for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
   3532 	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
   3533 	FFI_TYPE_LONGDOUBLE.
   3534 	(ffi_prep_args64): Assert using IBM extended double.
   3535 	(ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
   3536 	Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
   3537 	(ffi_call): Handle FFI_LINUX.
   3538 	(ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
   3539 	gpr3 return pointer as for struct return.  Handle FFI_LINUX
   3540 	FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
   3541 	unnecessarily.
   3542 	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
   3543 	for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
   3544 	Don't use r6 as pointer to results, instead use sp offset.  Don't
   3545 	make a special call to load lr with case table address, instead
   3546 	use offset from previous call.
   3547 	* src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
   3548 	* src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
   3549 	return.
   3550 
   3551 2006-03-15  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   3552 
   3553 	* src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
   3554 	passed with FP registers correctly.
   3555 	(ffi_closure_helper_SYSV): Likewise.
   3556 	* src/sh64/sysv.S: Likewise.
   3557 
   3558 2006-03-01  Andreas Tobler  <a.tobler (a] schweiz.ch>
   3559 
   3560 	* testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
   3561 	args and userdata unused.
   3562 	(closure_test_fn1): Mark cif and userdata unused.
   3563 	(main): Remove unused res.
   3564 
   3565 2006-02-28  Andreas Tobler  <a.tobler (a] schweiz.ch>
   3566 
   3567 	* testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
   3568 	-O2, -O3, -Os and the warning flags -W -Wall.
   3569 	* testsuite/libffi.special/special.exp: Likewise.
   3570 	* testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
   3571 	unused parameter unused for gcc or else do nothing.
   3572 	* testsuite/libffi.special/ffitestcxx.h: Likewise.
   3573 	* testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
   3574 	and userdata unused.
   3575 	* testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
   3576 	* testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
   3577 	* testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
   3578 	* testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
   3579 	* testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
   3580 	* testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
   3581 	* testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
   3582 	* testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
   3583 	* testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
   3584 	* testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
   3585 	* testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
   3586 	* testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
   3587 	* testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
   3588 	* testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
   3589 	* testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
   3590 	* testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
   3591 	* testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
   3592 	* testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
   3593 	* testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
   3594 	* testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
   3595 	* testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
   3596 	* testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
   3597 	* testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
   3598 	* testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
   3599 	Likewise.
   3600 	* testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
   3601 	Likewise.
   3602 	* testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
   3603 	Likewise.
   3604 	* testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
   3605 	void* to avoid compiler warning.
   3606 	(main): Likewise.
   3607 	(cls_struct_align_gn): Mark cif and userdata unused.
   3608 	* testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
   3609 	Likewise.
   3610 	* testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
   3611 	Likewise.
   3612 	* testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
   3613 	Likewise.
   3614 	* testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
   3615 	Likewise.
   3616 	* testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
   3617 	Likewise.
   3618 	* testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
   3619 	* testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
   3620 	* testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
   3621 	data unused.
   3622 	(main): Cast res_call to silence gcc.
   3623 	* testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
   3624 	data unused.
   3625 	(main): Cast res_call to silence gcc.
   3626 	* testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
   3627 	and data unused.
   3628 	(main): Cast res_call to silence gcc.
   3629 	* testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
   3630 	data unused.
   3631 	(main): Cast res_call to silence gcc.
   3632 	* testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
   3633 	data unused.
   3634 	(main): Cast res_call to silence gcc.
   3635 	* testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
   3636 	and data unused.
   3637 	(main): Cast res_call to silence gcc.
   3638 	* testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
   3639 	userdata unused.
   3640 	(cls_ret_schar_fn): Cast printf parameter to silence gcc.
   3641 	* testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
   3642 	userdata unused.
   3643 	(cls_ret_sint_fn): Cast printf parameter to silence gcc.
   3644 	* testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
   3645 	userdata unused.
   3646 	(cls_ret_sshort_fn): Cast printf parameter to silence gcc.
   3647 	* testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
   3648 	userdata unused.
   3649 	(cls_ret_uchar_fn): Cast printf parameter to silence gcc.
   3650 	* testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
   3651 	userdata unused.
   3652 	(cls_ret_uint_fn): Cast printf parameter to silence gcc.
   3653 	* testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
   3654 	and userdata unused.
   3655 	* testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
   3656 	userdata unused.
   3657 	(cls_ret_ushort_fn): Cast printf parameter to silence gcc.
   3658 	* testsuite/libffi.call/float.c (floating): Remove unused parameter e.
   3659 	* testsuite/libffi.call/float1.c (main): Remove unused variable i.
   3660 	Cleanup white spaces.
   3661 	* testsuite/libffi.call/negint.c (checking): Remove unused variable i.
   3662 	* testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
   3663 	cif and userdata unused.
   3664 	* testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
   3665 	Likewise.
   3666 	* testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
   3667 	* testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
   3668 	formatters to silence gcc.
   3669 	(B_gn): Mark cif and userdata unused.
   3670 	* testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
   3671 	unused.
   3672 	* testsuite/libffi.call/nested_struct4.c: Mention related PR.
   3673 	(B_gn): Mark cif and userdata unused.
   3674 	* testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
   3675 	unused.
   3676 	* testsuite/libffi.call/nested_struct6.c: Mention related PR.
   3677 	(B_gn): Mark cif and userdata unused.
   3678 	* testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
   3679 	unused.
   3680 	* testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
   3681 	* testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
   3682 	* testsuite/libffi.call/problem1.c (stub): Likewise.
   3683 	* testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
   3684 	gcc.
   3685 	* testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
   3686 	in the last commit for this test case in the test case itself.
   3687 	* testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
   3688 	unused.
   3689 	* testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
   3690 	* testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
   3691 	* testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
   3692 	* testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
   3693 	* testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
   3694 	* testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
   3695 
   3696 2006-02-22  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   3697 
   3698 	* src/sh/sysv.S: Fix register numbers in the FDE for
   3699 	ffi_closure_SYSV.
   3700 
   3701 2006-02-20  Andreas Tobler  <a.tobler (a] schweiz.ch>
   3702 
   3703 	* testsuite/libffi.call/return_fl2.c (return_fl): Remove static
   3704 	declaration to avoid a false negative on ix86. See PR323.
   3705 
   3706 2006-02-18  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   3707 
   3708 	* src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
   3709 	and cast integer to void * if needed.  Update the pointer to
   3710 	the FP register saved area correctly.
   3711 
   3712 2006-02-17  Andreas Tobler  <a.tobler (a] schweiz.ch>
   3713 
   3714 	* testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
   3715 	is fixed.
   3716 	* testsuite/libffi.call/nested_struct4.c: Likewise.
   3717 
   3718 2006-02-16  Andreas Tobler  <a.tobler (a] schweiz.ch>
   3719 
   3720 	* testsuite/libffi.call/return_dbl.c: New test case.
   3721 	* testsuite/libffi.call/return_dbl1.c: Likewise.
   3722 	* testsuite/libffi.call/return_dbl2.c: Likewise.
   3723 	* testsuite/libffi.call/return_fl.c: Likewise.
   3724 	* testsuite/libffi.call/return_fl1.c: Likewise.
   3725 	* testsuite/libffi.call/return_fl2.c: Likewise.
   3726 	* testsuite/libffi.call/return_fl3.c: Likewise.
   3727 	* testsuite/libffi.call/closure_fn6.c: Likewise.
   3728 
   3729 	* testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
   3730 	definition.
   3731 	* testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
   3732 	here to be used by other test cases too.
   3733 
   3734 	* testsuite/libffi.call/nested_struct10.c: New test case.
   3735 	* testsuite/libffi.call/nested_struct9.c: Likewise.
   3736 	* testsuite/libffi.call/nested_struct8.c: Likewise.
   3737 	* testsuite/libffi.call/nested_struct7.c: Likewise.
   3738 	* testsuite/libffi.call/nested_struct6.c: Likewise.
   3739 	* testsuite/libffi.call/nested_struct5.c: Likewise.
   3740 	* testsuite/libffi.call/nested_struct4.c: Likewise.
   3741 
   3742 2006-01-21  Andreas Tobler  <a.tobler (a] schweiz.ch>
   3743 
   3744 	* configure.ac: Enable libffi for sparc64-*-freebsd*.
   3745 	* configure: Rebuilt.
   3746 
   3747 2006-01-18  Jakub Jelinek  <jakub (a] redhat.com>
   3748 
   3749 	* src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
   3750 	instead do the shifting inline.
   3751 	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
   3752 	shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
   3753 	and 8 byte structs, for the remaining struct sizes don't call
   3754 	__lshrdi3, instead do the shifting inline.
   3755 
   3756 2005-12-07  Thiemo Seufer  <ths (a] networkno.de>
   3757 
   3758 	* src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
   3759 	missing parentheses.
   3760 	* src/mips/o32.S (ffi_call_O32): Code formatting. Define
   3761 	and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
   3762 	(ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
   3763 	A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
   3764 	V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
   3765 	FA_0_0_OFF2.
   3766 	* src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
   3767 	endianness bugs.
   3768 	(ffi_prep_closure): Improve trampoline instruction scheduling.
   3769 	(ffi_closure_mips_inner_O32): Fix endianness bugs.
   3770 
   3771 2005-12-03  Alan Modra  <amodra (a] bigpond.net.au>
   3772 
   3773 	* src/powerpc/ffi.c: Formatting.
   3774 	(ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
   3775 	(ffi_prep_args64): Likewise.
   3776 
   3777 2005-09-30  Geoffrey Keating  <geoffk (a] apple.com>
   3778 
   3779 	* testsuite/lib/libffi-dg.exp (libffi_target_compile): For
   3780 	darwin, use -shared-libgcc not -lgcc_s, and explain why.
   3781 
   3782 2005-09-26  Tom Tromey  <tromey (a] redhat.com>
   3783 
   3784 	* testsuite/libffi.call/float1.c (value_type): New typedef.
   3785 	(CANARY): New define.
   3786 	(main): Check for result buffer overflow.
   3787 	* src/powerpc/linux64.S: Handle linux64 long double returns.
   3788 	* src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
   3789 	(ffi_prep_cif_machdep): Handle linux64 long double returns.
   3790 
   3791 2005-08-25  Alan Modra  <amodra (a] bigpond.net.au>
   3792 
   3793 	PR target/23404
   3794 	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
   3795 	homed fp args.
   3796 	(ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
   3797 
   3798 2005-08-11  Jakub Jelinek  <jakub (a] redhat.com>
   3799 
   3800 	* configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
   3801 	(AH_BOTTOM): Add FFI_HIDDEN definition.
   3802 	* configure: Rebuilt.
   3803 	* fficonfig.h.in: Rebuilt.
   3804 	* src/powerpc/ffi.c (hidden): Remove.
   3805 	(ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
   3806 	ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
   3807 	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
   3808 	.ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
   3809 	* src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
   3810 	add FFI_HIDDEN to its prototype.
   3811 	(ffi_closure_SYSV_inner): New.
   3812 	* src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
   3813 	* src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
   3814 
   3815 2005-08-10  Alfred M. Szmidt  <ams (a] gnu.org>
   3816 
   3817 	PR libffi/21819:
   3818 	* configure: Rebuilt.
   3819 	* configure.ac: Handle i*86-*-gnu*.
   3820 
   3821 2005-08-09  Jakub Jelinek  <jakub (a] redhat.com>
   3822 
   3823 	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
   3824 	DW_CFA_offset_extended_sf rather than
   3825 	DW_CFA_GNU_negative_offset_extended.
   3826 	* src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
   3827 
   3828 2005-07-22  SUGIOKA Toshinobu  <sugioka (a] itonet.co.jp>
   3829 
   3830 	* src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
   3831 	on sh3.
   3832 	(ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
   3833 	* src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
   3834 	partially on register.
   3835 	(ffi_closure_helper_SYSV): Likewise.
   3836 	(ffi_prep_cif_machdep): Don't set too many cif->flags.
   3837 
   3838 2005-07-20  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   3839 
   3840 	* src/sh/ffi.c (ffi_call): Handle small structures correctly.
   3841 	Remove empty line.
   3842 	* src/sh64/ffi.c (simple_type): Remove.
   3843 	(return_type): Handle small structures correctly.
   3844 	(ffi_prep_args): Likewise.
   3845 	(ffi_call): Likewise.
   3846 	(ffi_closure_helper_SYSV): Likewise.
   3847 	* src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
   3848 	Emit position independent code if PIC and remove wrong datalabel
   3849 	prefixes from EH data.
   3850 
   3851 2005-07-19  Andreas Tobler  <a.tobler (a] schweiz.ch>
   3852 
   3853 	* Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
   3854 	* Makefile.in: Regenerate.
   3855 	* include/Makefile.in: Likewise.
   3856 	* testsuite/Makefile.in: Likewise.
   3857 	* configure.ac: Add POWERPC_FREEBSD rules.
   3858 	* configure: Regenerate.
   3859 	* src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
   3860 	(FFI_SYSV_TYPE_SMALL_STRUCT): Define.
   3861 	* src/powerpc/ffi.c: Add flags to handle small structure returns
   3862 	in ffi_call_SYSV.
   3863 	(ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
   3864 	Aka FFI_SYSV.
   3865 	(ffi_closure_helper_SYSV): Likewise.
   3866 	* src/powerpc/ppc_closure.S: Add return types for small structures.
   3867 	* src/powerpc/sysv.S: Add bits to handle small structures for
   3868 	final SYSV 4 ABI.
   3869 
   3870 2005-07-10  Andreas Tobler  <a.tobler (a] schweiz.ch>
   3871 
   3872 	* testsuite/libffi.call/cls_5_1_byte.c: New test file.
   3873 	* testsuite/libffi.call/cls_6_1_byte.c: Likewise.
   3874 	* testsuite/libffi.call/cls_7_1_byte.c: Likewise.
   3875 
   3876 2005-07-05  Randolph Chung  <tausq (a] debian.org>
   3877 
   3878 	* src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
   3879 	as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
   3880 	structures.  Kill compilation warnings.
   3881 	(ffi_closure_inner_LINUX): Print return values as hex in debug
   3882 	message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
   3883 	Properly handle 5-7 byte structure returns.
   3884 	* src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
   3885 	(FFI_TYPE_SMALL_STRUCT2): Remove.
   3886 	(FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
   3887 	(FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
   3888 	* src/pa/linux.S: Mark source file as using PA1.1 assembly.
   3889 	(checksmst1, checksmst2): Remove.
   3890 	(checksmst3): Optimize handling of 3-byte struct returns.
   3891 	(checksmst567): Properly handle 5-7 byte struct returns.
   3892 
   3893 2005-06-15  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   3894 
   3895 	PR libgcj/21943
   3896 	* src/mips/n32.S: Enforce PIC code.
   3897 	* src/mips/o32.S: Likewise.
   3898 
   3899 2005-06-15  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   3900 
   3901 	* configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
   3902 	* configure: Regenerate.
   3903 
   3904 2005-06-01  Alan Modra  <amodra (a] bigpond.net.au>
   3905 
   3906 	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
   3907 	to call ffi_closure_helper_SYSV.  Append @local instead.
   3908 	* src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
   3909 
   3910 2005-05-17  Kelley Cook  <kcook (a] gcc.gnu.org>
   3911 
   3912 	* configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
   3913 	Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
   3914 	* Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
   3915 	* aclocal.m4, configure, fficonfig.h.in, Makefile.in,
   3916 	include/Makefile.in, testsuite/Makefile.in: Regenerate.
   3917 
   3918 2005-05-09  Mike Stump  <mrs (a] apple.com>
   3919 
   3920 	* configure: Regenerate.
   3921 
   3922 2005-05-08  Richard Henderson  <rth (a] redhat.com>
   3923 
   3924 	PR libffi/21285
   3925 	* src/alpha/osf.S: Update unwind into to match code.
   3926 
   3927 2005-05-04  Andreas Degert <ad (a] papyrus-gmbh.de>
   3928 	    Richard Henderson  <rth (a] redhat.com>
   3929 
   3930 	* src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
   3931 	bit 11 of flags.
   3932 	(ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
   3933 	(ffi_prep_closure): Set carry bit if sse-used flag set.
   3934 	* src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
   3935 	Only load sse registers if ssecount non-zero.
   3936 	(ffi_closure_unix64): Only save sse registers if carry set on entry.
   3937 
   3938 2005-04-29  Ralf Corsepius  <ralf.corsepius (a] rtems.org>
   3939 
   3940 	* configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
   3941 	powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
   3942 	* configure: Regenerate.
   3943 
   3944 2005-04-20  Hans-Peter Nilsson  <hp (a] axis.com>
   3945 
   3946 	* testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
   3947 	have Tcl8.3-compatible intermediate variable.
   3948 
   3949 2005-04-18  Simon Posnjak <simon.posnjak (a] siol.net>
   3950 	    Hans-Peter Nilsson  <hp (a] axis.com>
   3951 
   3952 	* Makefile.am: Add CRIS support.
   3953 	* configure.ac: Likewise.
   3954 	* Makefile.in, configure, testsuite/Makefile.in,
   3955 	include/Makefile.in: Regenerate.
   3956 	* src/cris: New directory.
   3957 	* src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
   3958 	* src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
   3959 
   3960 	* testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
   3961 	\r?\n in output tests.
   3962 
   3963 2005-04-12  Mike Stump  <mrs (a] apple.com>
   3964 
   3965 	* configure: Regenerate.
   3966 
   3967 2005-03-30  Hans Boehm  <Hans.Boehm (a] hp.com>
   3968 
   3969 	* src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
   3970 
   3971 2005-03-30  Steve Ellcey  <sje (a] cup.hp.com>
   3972 
   3973 	* src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
   3974 	(ffi_sarg) Ditto.
   3975 	* src/ia64/unix.S (ffi_closure_unix): Extend gp
   3976 	to 64 bits in ILP32 mode.
   3977 	Load 64 bits even for short data.
   3978 
   3979 2005-03-23  Mike Stump  <mrs (a] apple.com>
   3980 
   3981 	* src/powerpc/darwin.S: Update for -m64 multilib.
   3982 	* src/powerpc/darwin_closure.S: Likewise.
   3983 
   3984 2005-03-21  Zack Weinberg  <zack (a] codesourcery.com>
   3985 
   3986 	* configure.ac: Do not invoke TL_AC_GCC_VERSION.
   3987 	Do not set tool_include_dir.
   3988 	* aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
   3989 	Regenerate.
   3990 	* include/Makefile.am: Set gcc_version and toollibffidir.
   3991 	* include/Makefile.in: Regenerate.
   3992 
   3993 2005-02-22  Andrew Haley  <aph (a] redhat.com>
   3994 
   3995 	* src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
   3996 	odd-numbered register pairs for 64-bit integer types.
   3997 
   3998 2005-02-23  Andreas Tobler  <a.tobler (a] schweiz.ch>
   3999 
   4000 	PR libffi/20104
   4001 	* testsuite/libffi.call/return_ll1.c: New test case.
   4002 
   4003 2005-02-11  Janis Johnson  <janis187 (a] us.ibm.com>
   4004 
   4005 	* testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
   4006 	* testsuite/libffi.call/float.c: Ditto.
   4007 	* testsuite/libffi.call/float2.c: Ditto.
   4008 	* testsuite/libffi.call/float3.c: Ditto.
   4009 
   4010 2005-02-08  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4011 
   4012 	* src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
   4013 
   4014 2005-01-12  Eric Botcazou  <ebotcazou (a] libertysurf.fr>
   4015 
   4016 	* testsuite/libffi.special/special.exp (cxx_options): Add
   4017 	-shared-libgcc.
   4018 
   4019 2004-12-31  Richard Henderson  <rth (a] redhat.com>
   4020 
   4021 	* src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
   4022 	(FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
   4023 	offset parameters with a type parameter; deduce size and structure
   4024 	alignment.  Update all users.
   4025 
   4026 2004-12-31  Richard Henderson  <rth (a] redhat.com>
   4027 
   4028 	* src/types.c (FFI_TYPE_POINTER): Define with sizeof.
   4029 	(FFI_TYPE_LONGDOUBLE): Fix for ia64.
   4030 	* src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
   4031 	into ffi_prep_closure.
   4032 	* src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
   4033 	from scratch.
   4034 
   4035 2004-12-27  Richard Henderson  <rth (a] redhat.com>
   4036 
   4037 	* src/x86/unix64.S: Fix typo in unwind info.
   4038 
   4039 2004-12-25  Richard Henderson  <rth (a] redhat.com>
   4040 
   4041 	* src/x86/ffi64.c (struct register_args): Rename from stackLayout.
   4042 	(enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
   4043 	(merge_classes): Check for it.
   4044 	(SSE_CLASS_P): New.
   4045 	(classify_argument): Pass byte_offset by value; perform all updates
   4046 	inside struct case.
   4047 	(examine_argument): Add classes argument; handle
   4048 	X86_64_COMPLEX_X87_CLASS.
   4049 	(ffi_prep_args): Merge into ...
   4050 	(ffi_call): ... here.  Share stack frame with ffi_call_unix64.
   4051 	(ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
   4052 	(ffi_fill_return_value): Remove.
   4053 	(ffi_prep_closure): Remove dead assert.
   4054 	(ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
   4055 	Rewrite to use struct register_args instead of va_list.  Create
   4056 	flags for handling structure returns.
   4057 	* src/x86/unix64.S: Remove dead strings.
   4058 	(ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
   4059 	stack frame with ffi_call.  Handle structure returns properly.
   4060 	(float2sse, floatfloat2sse, double2sse): Remove.
   4061 	(sse2float, sse2double, sse2floatfloat): Remove.
   4062 	(ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
   4063 	to handle structure returns properly.
   4064 
   4065 2004-12-08  David Edelsohn  <edelsohn (a] gnu.org>
   4066 
   4067 	* Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
   4068 	PICFLAG.
   4069 	* Makefile.in: Regenerated.
   4070 
   4071 2004-12-02  Richard Sandiford  <rsandifo (a] redhat.com>
   4072 
   4073 	* configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
   4074 	* configure, aclocal.m4, Makefile.in: Regenerate.
   4075 	* include/Makefile.in, testsuite/Makefile.in: Regenerate.
   4076 
   4077 2004-11-29  Kelley Cook  <kcook (a] gcc.gnu.org>
   4078 
   4079 	* configure: Regenerate for libtool change.
   4080 
   4081 2004-11-25  Kelley Cook  <kcook (a] gcc.gnu.org>
   4082 
   4083 	* configure: Regenerate for libtool reversion.
   4084 
   4085 2004-11-24  Kelley Cook  <kcook (a] gcc.gnu.org>
   4086 
   4087 	* configure: Regenerate for libtool change.
   4088 
   4089 2004-11-23  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   4090 
   4091 	* testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
   4092 
   4093 2004-11-23  Richard Sandiford  <rsandifo (a] redhat.com>
   4094 
   4095 	* src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
   4096 	of jal.  Use an absolute encoding for the frame information.
   4097 
   4098 2004-11-23  Kelley Cook  <kcook (a] gcc.gnu.org>
   4099 
   4100 	* Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
   4101 	* acinclude.m4: Delete logic for sincludes.
   4102 	* aclocal.m4, Makefile.in, configure: Regenerate.
   4103 	* include/Makefile: Likewise.
   4104 	* testsuite/Makefile: Likewise.
   4105 
   4106 2004-11-22  Eric Botcazou  <ebotcazou (a] libertysurf.fr>
   4107 
   4108 	* src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
   4109 	on a 8-byte boundary.
   4110 	* src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
   4111 
   4112 2004-10-27  Richard Earnshaw  <rearnsha (a] arm.com>
   4113 
   4114 	* src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
   4115 	long long values.  Round stack allocation to a multiple of 8 bytes
   4116 	for ATPCS compatibility.
   4117 	* src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
   4118 	names.  Handle returning long long types.  Add Thumb and interworking
   4119 	support.  Improve soft-float code.
   4120 
   4121 2004-10-27  Richard Earnshaw  <rearnsha (a] arm.com>
   4122 
   4123 	* testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
   4124 	(libffi_exit): New function.
   4125 	(libffi_init): Build the testglue wrapper if needed.
   4126 
   4127 2004-10-25  Eric Botcazou  <ebotcazou (a] libertysurf.fr>
   4128 
   4129 	PR other/18138
   4130 	* testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
   4131 
   4132 2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro (a] renesas.com>
   4133 
   4134 	* src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
   4135 
   4136 2004-10-20  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   4137 
   4138 	* src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
   4139 	* testsuite/libffi.call/float3.c: New test case.
   4140 
   4141 2004-10-18  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   4142 
   4143 	* src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
   4144 	the function returning a structure pointed with R2.
   4145 	* src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
   4146 	the structure return value if T bit set.  Emit position
   4147 	independent code and EH data if PIC.
   4148 
   4149 2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro (a] renesas.com>
   4150 
   4151 	* Makefile.am: Add m32r support.
   4152 	* configure.ac: Likewise.
   4153 	* Makefile.in: Regenerate.
   4154 	* confiugre: Regenerate.
   4155 	* src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
   4156 	(uint64, sint64, double, longdouble)
   4157 	* src/m32r: New directory.
   4158 	* src/m32r/ffi.c: New file.
   4159 	* src/m32r/sysv.S: Likewise.
   4160 	* src/m32r/ffitarget.h: Likewise.
   4161 
   4162 2004-10-02  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   4163 
   4164 	* testsuite/libffi.call/negint.c: New test case.
   4165 
   4166 2004-09-14  H.J. Lu  <hongjiu.lu (a] intel.com>
   4167 
   4168 	PR libgcj/17465
   4169 	* testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
   4170 	Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
   4171 	LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
   4172 	DYLD_LIBRARY_PATH.
   4173 
   4174 2004-09-05  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4175 
   4176 	* testsuite/libffi.call/many_win32.c: Remove whitespaces.
   4177 	* testsuite/libffi.call/promotion.c: Likewise.
   4178 	* testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
   4179 	whitespaces.
   4180 	* testsuite/libffi.call/return_sc.c: Likewise.
   4181 	* testsuite/libffi.call/return_uc.c: Likewise.
   4182 
   4183 2004-09-05  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4184 
   4185 	* src/powerpc/darwin.S: Fix comments and identation.
   4186 	* src/powerpc/darwin_closure.S: Likewise.
   4187 
   4188 2004-09-02  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4189 
   4190 	* src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
   4191 	(ffi_prep_args): Handle longdouble arguments.
   4192 	(ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
   4193 	longdouble.
   4194 	(ffi_closure_helper_DARWIN): Add closure handling for longdouble.
   4195 	* src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
   4196 	values.
   4197 	* src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
   4198 	* src/types.c: Defined longdouble size and alignment for darwin.
   4199 
   4200 2004-09-02  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4201 
   4202 	* src/powerpc/aix.S: Remove whitespaces.
   4203 	* src/powerpc/aix_closure.S: Likewise.
   4204 	* src/powerpc/asm.h: Likewise.
   4205 	* src/powerpc/ffi.c: Likewise.
   4206 	* src/powerpc/ffitarget.h: Likewise.
   4207 	* src/powerpc/linux64.S: Likewise.
   4208 	* src/powerpc/linux64_closure.S: Likewise.
   4209 	* src/powerpc/ppc_closure.S: Likewise.
   4210 	* src/powerpc/sysv.S: Likewise.
   4211 
   4212 2004-08-30  Anthony Green  <green (a] redhat.com>
   4213 
   4214 	* Makefile.am: Add frv support.
   4215 	* Makefile.in, testsuite/Makefile.in: Rebuilt.
   4216 	* configure.ac: Read configure.host.
   4217 	* configure.in: Read configure.host.
   4218 	* configure.host: New file.  frv-elf needs libgloss.
   4219 	* include/ffi.h.in: Force ffi_closure to have a nice big (8)
   4220 	alignment.  This is needed to frv and shouldn't harm the others.
   4221 	* include/ffi_common.h (ALIGN_DOWN): New macro.
   4222 	* src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
   4223 
   4224 2004-08-24  David Daney  <daney (a] avtrex.com>
   4225 
   4226 	* testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
   4227 	* testsuite/libffi.call/closure_fn1.c: Likewise.
   4228 	* testsuite/libffi.call/closure_fn2.c  Likewise.
   4229 	* testsuite/libffi.call/closure_fn3.c: Likewise.
   4230 	* testsuite/libffi.call/closure_fn4.c: Likewise.
   4231 	* testsuite/libffi.call/closure_fn5.c: Likewise.
   4232 	* testsuite/libffi.call/cls_18byte.c: Likewise.
   4233 	* testsuite/libffi.call/cls_19byte.c: Likewise.
   4234 	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
   4235 	* testsuite/libffi.call/cls_20byte.c: Likewise.
   4236 	* testsuite/libffi.call/cls_20byte1.c: Likewise.
   4237 	* testsuite/libffi.call/cls_24byte.c: Likewise.
   4238 	* testsuite/libffi.call/cls_2byte.c: Likewise.
   4239 	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
   4240 	* testsuite/libffi.call/cls_3byte1.c: Likewise.
   4241 	* testsuite/libffi.call/cls_3byte2.c: Likewise.
   4242 	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
   4243 	* testsuite/libffi.call/cls_4byte.c: Likewise.
   4244 	* testsuite/libffi.call/cls_64byte.c: Likewise.
   4245 	* testsuite/libffi.call/cls_6byte.c: Likewise.
   4246 	* testsuite/libffi.call/cls_7byte.c: Likewise.
   4247 	* testsuite/libffi.call/cls_8byte.c: Likewise.
   4248 	* testsuite/libffi.call/cls_9byte1.c: Likewise.
   4249 	* testsuite/libffi.call/cls_9byte2.c: Likewise.
   4250 	* testsuite/libffi.call/cls_align_double.c: Likewise.
   4251 	* testsuite/libffi.call/cls_align_float.c: Likewise.
   4252 	* testsuite/libffi.call/cls_align_longdouble.c: Likewise.
   4253 	* testsuite/libffi.call/cls_align_pointer.c: Likewise.
   4254 	* testsuite/libffi.call/cls_align_sint16.c: Likewise.
   4255 	* testsuite/libffi.call/cls_align_sint32.c: Likewise.
   4256 	* testsuite/libffi.call/cls_align_sint64.c: Likewise.
   4257 	* testsuite/libffi.call/cls_align_uint16.c: Likewise.
   4258 	* testsuite/libffi.call/cls_align_uint32.c: Likewise.
   4259 	* testsuite/libffi.call/cls_align_uint64.c: Likewise.
   4260 	* testsuite/libffi.call/cls_double.c: Likewise.
   4261 	* testsuite/libffi.call/cls_float.c: Likewise.
   4262 	* testsuite/libffi.call/cls_multi_schar.c: Likewise.
   4263 	* testsuite/libffi.call/cls_multi_sshort.c: Likewise.
   4264 	* testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
   4265 	* testsuite/libffi.call/cls_multi_uchar.c: Likewise.
   4266 	* testsuite/libffi.call/cls_multi_ushort.c: Likewise.
   4267 	* testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
   4268 	* testsuite/libffi.call/cls_schar.c: Likewise.
   4269 	* testsuite/libffi.call/cls_sint.c: Likewise.
   4270 	* testsuite/libffi.call/cls_sshort.c: Likewise.
   4271 	* testsuite/libffi.call/cls_uchar.c: Likewise.
   4272 	* testsuite/libffi.call/cls_uint.c: Likewise.
   4273 	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
   4274 	* testsuite/libffi.call/cls_ushort.c: Likewise.
   4275 	* testsuite/libffi.call/nested_struct.c: Likewise.
   4276 	* testsuite/libffi.call/nested_struct1.c: Likewise.
   4277 	* testsuite/libffi.call/nested_struct2.c: Likewise.
   4278 	* testsuite/libffi.call/nested_struct3.c: Likewise.
   4279 	* testsuite/libffi.call/problem1.c: Likewise.
   4280 	* testsuite/libffi.special/unwindtest.cc: Likewise.
   4281 	* testsuite/libffi.call/cls_12byte.c: Likewise and set return value
   4282 	to zero.
   4283 	* testsuite/libffi.call/cls_16byte.c: Likewise.
   4284 	* testsuite/libffi.call/cls_5byte.c: Likewise.
   4285 
   4286 2004-08-23  David Daney <daney (a] avtrex.com>
   4287 
   4288 	PR libgcj/13141
   4289 	* src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
   4290 	* src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
   4291 	(ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
   4292 	parameters and return types.
   4293 	(ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
   4294 	(ffi_prep_closure): Ditto.
   4295 	(ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
   4296 	alignment calculations.
   4297 	* src/mips/o32.S (ffi_closure_O32): Don't use floating point
   4298 	instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
   4299 
   4300 2004-08-14  Casey Marshall <csm (a] gnu.org>
   4301 
   4302 	* src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
   4303 	contain `FFI_TYPE_UINT64' as return type for any 64-bit
   4304 	integer (O32 ABI only).
   4305 	(ffi_prep_closure): new function.
   4306 	(ffi_closure_mips_inner_O32): new function.
   4307 	* src/mips/ffitarget.h: Define `FFI_CLOSURES' and
   4308 	`FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
   4309 	* src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
   4310 	64 bit integers correctly.
   4311 	(ffi_closure_O32): new function.
   4312 	Added DWARF-2 unwind info for both functions.
   4313 
   4314 2004-08-10  Andrew Haley  <aph (a] redhat.com>
   4315 
   4316 	* src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
   4317 
   4318 2004-08-01  Robert Millan  <robertmh (a] gnu.org>
   4319 
   4320 	* configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
   4321 	* configure: Regenerate.
   4322 
   4323 2004-07-30  Maciej W. Rozycki  <macro (a] linux-mips.org>
   4324 
   4325 	* acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
   4326 	and mmap() explicitly instead of relying on preset autoconf cache
   4327 	variables.
   4328 	* aclocal.m4: Regenerate.
   4329 	* configure: Regenerate.
   4330 
   4331 2004-07-11  Ulrich Weigand  <uweigand (a] de.ibm.com>
   4332 
   4333 	* src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
   4334 	(ffi_check_float_struct): Remove unused prototype.
   4335 
   4336 2004-06-30  Geoffrey Keating  <geoffk (a] apple.com>
   4337 
   4338 	* src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
   4339 	character on Darwin, use '\n\t' instead.
   4340 
   4341 2004-06-26  Matthias Klose  <doko (a] debian.org>
   4342 
   4343 	* libtool-version: Fix typo in revision/age.
   4344 
   4345 2004-06-17  Matthias Klose  <doko (a] debian.org>
   4346 
   4347 	* libtool-version: New.
   4348 	* Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
   4349 	* Makefile.in: Regenerate.
   4350 
   4351 2004-06-15  Paolo Bonzini  <bonzini (a] gnu.org>
   4352 
   4353 	* Makefile.am: Remove useless multilib rules.
   4354 	* Makefile.in: Regenerate.
   4355 	* aclocal.m4: Regenerate with automake 1.8.5.
   4356 	* configure.ac: Remove useless multilib configury.
   4357 	* configure: Regenerate.
   4358 
   4359 2004-06-15  Paolo Bonzini  <bonzini (a] gnu.org>
   4360 
   4361 	* .cvsignore: New file.
   4362 
   4363 2004-06-10  Jakub Jelinek  <jakub (a] redhat.com>
   4364 
   4365 	* src/ia64/unix.S (ffi_call_unix): Insert group barrier break
   4366 	fp_done.
   4367 	(ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
   4368 	changed from 8.
   4369 
   4370 2004-06-06  Sean McNeil  <sean (a] mcneil.com>
   4371 
   4372 	* configure.ac: Add x86_64-*-freebsd* support.
   4373 	* configure: Regenerate.
   4374 
   4375 2004-04-26  Joe Buck <jbuck (a] welsh-buck.org>
   4376 
   4377 	Bug 15093
   4378 	* configure.ac: Test for existence of mmap and sys/mman.h before
   4379 	checking blacklist.  Fix suggested by Jim Wilson.
   4380 	* configure: Regenerate.
   4381 
   4382 2004-04-26  Matt Austern  <austern (a] apple.com>
   4383 
   4384 	* src/powerpc/darwin.S: Go through a non-lazy pointer for initial
   4385 	FDE location.
   4386 	* src/powerpc/darwin_closure.S: Likewise.
   4387 
   4388 2004-04-24  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4389 
   4390 	* testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
   4391 	error. Reported by Thomas Heller <theller (a] python.net>.
   4392 	* testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
   4393 	* testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
   4394 
   4395 2004-03-20  Matthias Klose  <doko (a] debian.org>
   4396 
   4397 	* src/pa/linux.S: Fix typo.
   4398 
   4399 2004-03-19  Matthias Klose  <doko (a] debian.org>
   4400 
   4401 	* Makefile.am: Update.
   4402 	* Makefile.in: Regenerate.
   4403 	* src/pa/ffi.h.in: Remove.
   4404 	* src/pa/ffitarget.h: New file.
   4405 
   4406 2004-02-10  Randolph Chung  <tausq (a] debian.org>
   4407 
   4408 	* Makefile.am: Add PA support.
   4409 	* Makefile.in: Regenerate.
   4410 	* include/Makefile.in: Regenerate.
   4411 	* configure.ac: Add PA target.
   4412 	* configure: Regenerate.
   4413 	* src/pa/ffi.c: New file.
   4414 	* src/pa/ffi.h.in: Add PA support.
   4415 	* src/pa/linux.S: New file.
   4416 	* prep_cif.c: Add PA support.
   4417 
   4418 2004-03-16  Hosaka Yuji  <hos (a] tamanegi.org>
   4419 
   4420 	* src/types.c: Fix alignment size of X86_WIN32 case int64 and
   4421 	double.
   4422 	* src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
   4423 	with ecif->cif->flags.
   4424 	(ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
   4425 	with cif->flags.
   4426 	(ffi_prep_cif_machdep): Add X86_WIN32 struct case.
   4427 	(ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
   4428 	* src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
   4429 	sc_retstruct2b): Add for 1 or 2-bytes struct case.
   4430 
   4431 2004-03-15 Kelley Cook <kcook (a] gcc.gnu.org>
   4432 
   4433 	* configure.in: Rename file to ...
   4434 	* configure.ac: ... this.
   4435 	* fficonfig.h.in: Regenerate.
   4436 	* Makefile.in: Regenerate.
   4437 	* include/Makefile.in: Regenerate.
   4438 	* testsuite/Makefile.in: Regenerate.
   4439 
   4440 2004-03-12  Matt Austern  <austern (a] apple.com>
   4441 
   4442 	* src/powerpc/darwin.S: Fix EH information so it corresponds to
   4443 	changes in EH format resulting from addition of linkonce support.
   4444 	* src/powerpc/darwin_closure.S: Likewise.
   4445 
   4446 2004-03-11  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4447 	    Paolo Bonzini  <bonzini (a] gnu.org>
   4448 
   4449 	* Makefile.am (AUTOMAKE_OPTIONS): Set them.
   4450 	Remove VPATH. Remove rules for object files. Remove multilib support.
   4451 	(AM_CCASFLAGS): Add.
   4452 	* configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
   4453 	(AC_PREREQ): Bump version to 2.59.
   4454 	(AC_INIT): Fill with version info and bug address.
   4455 	(ORIGINAL_LD_FOR_MULTILIBS): Remove.
   4456 	(AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
   4457 	De-precious CC so that the right flags are passed down to multilibs.
   4458 	(AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
   4459 	(AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
   4460 	(AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
   4461 	* configure: Rebuilt.
   4462 	* aclocal.m4: Likewise.
   4463 	* Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
   4464 	* fficonfig.h.in: Likewise.
   4465 
   4466 2004-03-11  Andreas Schwab  <schwab (a] suse.de>
   4467 
   4468 	* src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
   4469 	arguments from fp registers only for the first 8 parameter slots.
   4470 	Don't convert a float parameter when passed in memory.
   4471 
   4472 2004-03-09  Hans-Peter Nilsson  <hp (a] axis.com>
   4473 
   4474 	* configure: Regenerate for config/accross.m4 correction.
   4475 
   4476 2004-02-25  Matt Kraai  <kraai (a] alumni.cmu.edu>
   4477 
   4478 	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
   4479 	ecif->cif->bytes to bytes.
   4480 	(ffi_prep_cif_machdep): Add braces around nested if statement.
   4481 
   4482 2004-02-09  Alan Modra  <amodra (a] bigpond.net.au>
   4483 
   4484 	* src/types.c (pointer): POWERPC64 has 8 byte pointers.
   4485 
   4486 	* src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
   4487 	(ffi_closure_helper_LINUX64): Fix typo.
   4488 	* testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
   4489 	for powerpc64-*-*.
   4490 	* testsuite/libffi.call/float.c: Likewise.
   4491 	* testsuite/libffi.call/float2.c: Likewise.
   4492 
   4493 2004-02-08  Alan Modra  <amodra (a] bigpond.net.au>
   4494 
   4495 	* src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
   4496 	long double function return and long double arg handling.
   4497 	(ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
   4498 	Use "end_pfr" instead of "nf".  Correct long double handling.
   4499 	Localise "temp".
   4500 	* src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
   4501 	return value.
   4502 	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
   4503 	space for long double return value.  Adjust stack frame and offsets.
   4504 	Load f2 long double return.
   4505 
   4506 2004-02-07  Alan Modra  <amodra (a] bigpond.net.au>
   4507 
   4508 	* src/types.c: Use 16 byte long double for POWERPC64.
   4509 
   4510 2004-01-25  Eric Botcazou  <ebotcazou (a] libertysurf.fr>
   4511 
   4512 	* src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
   4513 	when the structure return address is passed in %o0.
   4514 	(ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
   4515 	(ffi_v9_layout_struct): Align the field following a nested structure
   4516 	on a word boundary.  Use memmove instead of memcpy.
   4517 	(ffi_call): Update call to ffi_V9_return_struct.
   4518 	(ffi_prep_closure): Define 'ctx' only for V8.
   4519 	(ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
   4520 	and ffi_closure_sparc_inner_v9.
   4521 	(ffi_closure_sparc_inner_v8): Return long doubles by reference.
   4522 	Always skip the structure return address.  For structures and long
   4523 	doubles, copy the argument directly.
   4524 	(ffi_closure_sparc_inner_v9): Skip the structure return address only
   4525 	if required.  Shift the maximum floating-point slot accordingly.  For
   4526 	big structures, copy the argument directly; otherwise, left-justify the
   4527 	argument and call ffi_v9_layout_struct to lay out the structure on
   4528 	the stack.
   4529 	* src/sparc/v8.S: Undef STACKFRAME before defining it.
   4530 	(ffi_closure_v8): Pass the structure return address.  Update call to
   4531 	ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
   4532 	Skip the 'unimp' insn when returning long doubles and structures.
   4533 	* src/sparc/v9.S: Undef STACKFRAME before defining it.
   4534 	(ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
   4535 	FFI_TYPE_INT handling.  Load structures both in integers and
   4536 	floating-point registers on return.
   4537 	* README: Update status of the SPARC port.
   4538 
   4539 2004-01-24  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4540 
   4541 	* testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
   4542 	as of type ffi_arg.
   4543 	* testsuite/libffi.call/struct3.c (main): Fix CHECK.
   4544 
   4545 2004-01-22  Ulrich Weigand  <uweigand (a] de.ibm.com>
   4546 
   4547 	* testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
   4548 	value as of type ffi_arg, not unsigned int.
   4549 
   4550 2004-01-21  Michael Ritzert  <ritzert (a] t-online.de>
   4551 
   4552 	* ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
   4553 	of the LHS.
   4554 
   4555 2004-01-12  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4556 
   4557 	* testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
   4558 	Solaris.
   4559 
   4560 2004-01-08  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   4561 
   4562 	* testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
   4563 	to void *.
   4564 
   4565 2003-12-10  Richard Henderson  <rth (a] redhat.com>
   4566 
   4567 	* testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
   4568 	size_t instead of int.
   4569 
   4570 2003-12-04  Hosaka Yuji  <hos (a] tamanegi.org>
   4571 
   4572 	* testsuite/libffi.call/many_win32.c: Include <float.h>.
   4573 	* testsuite/libffi.call/many_win32.c (main): Replace variable
   4574 	int i with unsigned long ul.
   4575 
   4576 	* testsuite/libffi.call/cls_align_uint64.c: New test case.
   4577 	* testsuite/libffi.call/cls_align_sint64.c: Likewise.
   4578 	* testsuite/libffi.call/cls_align_uint32.c: Likewise.
   4579 	* testsuite/libffi.call/cls_align_sint32.c: Likewise.
   4580 	* testsuite/libffi.call/cls_align_uint16.c: Likewise.
   4581 	* testsuite/libffi.call/cls_align_sint16.c: Likewise.
   4582 	* testsuite/libffi.call/cls_align_float.c: Likewise.
   4583 	* testsuite/libffi.call/cls_align_double.c: Likewise.
   4584 	* testsuite/libffi.call/cls_align_longdouble.c: Likewise.
   4585 	* testsuite/libffi.call/cls_align_pointer.c: Likewise.
   4586 
   4587 2003-12-02  Hosaka Yuji  <hos (a] tamanegi.org>
   4588 
   4589 	PR other/13221
   4590 	* src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
   4591 	Align arguments to 32 bits.
   4592 
   4593 2003-12-01  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4594 
   4595 	PR other/13221
   4596 	* testsuite/libffi.call/cls_multi_sshort.c: New test case.
   4597 	* testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
   4598 	* testsuite/libffi.call/cls_multi_uchar.c: Likewise.
   4599 	* testsuite/libffi.call/cls_multi_schar.c: Likewise.
   4600 	* testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
   4601 	* testsuite/libffi.call/cls_multi_ushort.c: Likewise.
   4602 
   4603 	* testsuite/libffi.special/unwindtest.cc: Cosmetics.
   4604 
   4605 2003-11-26  Kaveh R. Ghazi  <ghazi (a] caip.rutgers.edu>
   4606 
   4607 	* testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
   4608 	* testsuite/libffi.special/ffitestcxx.h: Likewise.
   4609 
   4610 2003-11-22  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4611 
   4612 	* Makefile.in: Rebuilt.
   4613 	* configure: Likewise.
   4614 	* testsuite/libffi.special/unwindtest.cc: Convert the mmap to
   4615 	the right type.
   4616 
   4617 2003-11-21  Andreas Jaeger  <aj (a] suse.de>
   4618 	    Andreas Tobler  <a.tobler (a] schweiz.ch>
   4619 
   4620 	* acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
   4621 	* configure.in: Call AC_FUNC_MMAP_BLACKLIST.
   4622 	* Makefile.in: Rebuilt.
   4623 	* aclocal.m4: Likewise.
   4624 	* configure: Likewise.
   4625 	* fficonfig.h.in: Likewise.
   4626 	* testsuite/lib/libffi-dg.exp: Add include dir.
   4627 	* testsuite/libffi.call/ffitest.h: Add MMAP definitions.
   4628 	* testsuite/libffi.special/ffitestcxx.h: Likewise.
   4629 	* testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
   4630 	for ffi_closure if available.
   4631 	* testsuite/libffi.call/closure_fn1.c: Likewise.
   4632 	* testsuite/libffi.call/closure_fn2.c: Likewise.
   4633 	* testsuite/libffi.call/closure_fn3.c: Likewise.
   4634 	* testsuite/libffi.call/closure_fn4.c: Likewise.
   4635 	* testsuite/libffi.call/closure_fn5.c: Likewise.
   4636 	* testsuite/libffi.call/cls_12byte.c: Likewise.
   4637 	* testsuite/libffi.call/cls_16byte.c: Likewise.
   4638 	* testsuite/libffi.call/cls_18byte.c: Likewise.
   4639 	* testsuite/libffi.call/cls_19byte.c: Likewise.
   4640 	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
   4641 	* testsuite/libffi.call/cls_20byte.c: Likewise.
   4642 	* testsuite/libffi.call/cls_20byte1.c: Likewise.
   4643 	* testsuite/libffi.call/cls_24byte.c: Likewise.
   4644 	* testsuite/libffi.call/cls_2byte.c: Likewise.
   4645 	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
   4646 	* testsuite/libffi.call/cls_3byte1.c: Likewise.
   4647 	* testsuite/libffi.call/cls_3byte2.c: Likewise.
   4648 	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
   4649 	* testsuite/libffi.call/cls_4byte.c: Likewise.
   4650 	* testsuite/libffi.call/cls_5byte.c: Likewise.
   4651 	* testsuite/libffi.call/cls_64byte.c: Likewise.
   4652 	* testsuite/libffi.call/cls_6byte.c: Likewise.
   4653 	* testsuite/libffi.call/cls_7byte.c: Likewise.
   4654 	* testsuite/libffi.call/cls_8byte.c: Likewise.
   4655 	* testsuite/libffi.call/cls_9byte1.c: Likewise.
   4656 	* testsuite/libffi.call/cls_9byte2.c: Likewise.
   4657 	* testsuite/libffi.call/cls_double.c: Likewise.
   4658 	* testsuite/libffi.call/cls_float.c: Likewise.
   4659 	* testsuite/libffi.call/cls_schar.c: Likewise.
   4660 	* testsuite/libffi.call/cls_sint.c: Likewise.
   4661 	* testsuite/libffi.call/cls_sshort.c: Likewise.
   4662 	* testsuite/libffi.call/cls_uchar.c: Likewise.
   4663 	* testsuite/libffi.call/cls_uint.c: Likewise.
   4664 	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
   4665 	* testsuite/libffi.call/cls_ushort.c: Likewise.
   4666 	* testsuite/libffi.call/nested_struct.c: Likewise.
   4667 	* testsuite/libffi.call/nested_struct1.c: Likewise.
   4668 	* testsuite/libffi.call/nested_struct2.c: Likewise.
   4669 	* testsuite/libffi.call/nested_struct3.c: Likewise.
   4670 	* testsuite/libffi.call/problem1.c: Likewise.
   4671 	* testsuite/libffi.special/unwindtest.cc: Likewise.
   4672 
   4673 2003-11-20  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4674 
   4675 	* testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
   4676 
   4677 2003-11-19  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4678 
   4679 	* testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
   4680 	Add -lgcc_s to additional flags.
   4681 
   4682 2003-11-12  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4683 
   4684 	* configure.in, include/Makefile.am: PR libgcj/11147, install
   4685 	the ffitarget.h header file in a gcc versioned and target
   4686 	dependent place.
   4687 	* configure: Regenerated.
   4688 	* Makefile.in, include/Makefile.in: Likewise.
   4689 	* testsuite/Makefile.in: Likewise.
   4690 
   4691 2003-11-09  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4692 
   4693 	* testsuite/libffi.call/closure_fn0.c: Print result and check
   4694 	with dg-output to make debugging easier.
   4695 	* testsuite/libffi.call/closure_fn1.c: Likewise.
   4696 	* testsuite/libffi.call/closure_fn2.c: Likewise.
   4697 	* testsuite/libffi.call/closure_fn3.c: Likewise.
   4698 	* testsuite/libffi.call/closure_fn4.c: Likewise.
   4699 	* testsuite/libffi.call/closure_fn5.c: Likewise.
   4700 	* testsuite/libffi.call/cls_12byte.c: Likewise.
   4701 	* testsuite/libffi.call/cls_16byte.c: Likewise.
   4702 	* testsuite/libffi.call/cls_18byte.c: Likewise.
   4703 	* testsuite/libffi.call/cls_19byte.c: Likewise.
   4704 	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
   4705 	* testsuite/libffi.call/cls_20byte.c: Likewise.
   4706 	* testsuite/libffi.call/cls_20byte1.c: Likewise.
   4707 	* testsuite/libffi.call/cls_24byte.c: Likewise.
   4708 	* testsuite/libffi.call/cls_2byte.c: Likewise.
   4709 	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
   4710 	* testsuite/libffi.call/cls_3byte1.c: Likewise.
   4711 	* testsuite/libffi.call/cls_3byte2.c: Likewise.
   4712 	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
   4713 	* testsuite/libffi.call/cls_4byte.c: Likewise.
   4714 	* testsuite/libffi.call/cls_5byte.c: Likewise.
   4715 	* testsuite/libffi.call/cls_64byte.c: Likewise.
   4716 	* testsuite/libffi.call/cls_6byte.c: Likewise.
   4717 	* testsuite/libffi.call/cls_7byte.c: Likewise.
   4718 	* testsuite/libffi.call/cls_8byte.c: Likewise.
   4719 	* testsuite/libffi.call/cls_9byte1.c: Likewise.
   4720 	* testsuite/libffi.call/cls_9byte2.c: Likewise.
   4721 	* testsuite/libffi.call/cls_double.c: Likewise.
   4722 	* testsuite/libffi.call/cls_float.c: Likewise.
   4723 	* testsuite/libffi.call/cls_schar.c: Likewise.
   4724 	* testsuite/libffi.call/cls_sint.c: Likewise.
   4725 	* testsuite/libffi.call/cls_sshort.c: Likewise.
   4726 	* testsuite/libffi.call/cls_uchar.c: Likewise.
   4727 	* testsuite/libffi.call/cls_uint.c: Likewise.
   4728 	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
   4729 	* testsuite/libffi.call/cls_ushort.c: Likewise.
   4730 	* testsuite/libffi.call/problem1.c: Likewise.
   4731 
   4732 	* testsuite/libffi.special/unwindtest.cc: Make ffi_closure
   4733 	static.
   4734 
   4735 2003-11-08  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4736 
   4737 	* testsuite/libffi.call/cls_9byte2.c: New test case.
   4738 	* testsuite/libffi.call/cls_9byte1.c: Likewise.
   4739 	* testsuite/libffi.call/cls_64byte.c: Likewise.
   4740 	* testsuite/libffi.call/cls_20byte1.c: Likewise.
   4741 	* testsuite/libffi.call/cls_19byte.c: Likewise.
   4742 	* testsuite/libffi.call/cls_18byte.c: Likewise.
   4743 	* testsuite/libffi.call/closure_fn4.c: Likewise.
   4744 	* testsuite/libffi.call/closure_fn5.c: Likewise.
   4745 	* testsuite/libffi.call/cls_schar.c: Likewise.
   4746 	* testsuite/libffi.call/cls_sint.c: Likewise.
   4747 	* testsuite/libffi.call/cls_sshort.c: Likewise.
   4748 	* testsuite/libffi.call/nested_struct2.c: Likewise.
   4749 	* testsuite/libffi.call/nested_struct3.c: Likewise.
   4750 
   4751 2003-11-08  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4752 
   4753 	* testsuite/libffi.call/cls_double.c: Do a check on the result.
   4754 	* testsuite/libffi.call/cls_uchar.c: Likewise.
   4755 	* testsuite/libffi.call/cls_uint.c: Likewise.
   4756 	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
   4757 	* testsuite/libffi.call/cls_ushort.c: Likewise.
   4758 	* testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
   4759 
   4760 2003-11-06  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4761 
   4762 	* src/prep_cif.c (ffi_prep_cif): Move the validity check after
   4763 	the initialization.
   4764 
   4765 2003-10-23  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4766 
   4767 	* src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
   4768 	FFI_ASSERT(FALSE) with FFI_ASSERT(0).
   4769 
   4770 2003-10-22  David Daney  <ddaney (a] avtrex.com>
   4771 
   4772 	* src/mips/ffitarget.h: Replace undefined UINT32 and friends with
   4773 	__attribute__((__mode__(__SI__))) and friends.
   4774 
   4775 2003-10-22  Andreas Schwab  <schwab (a] suse.de>
   4776 
   4777 	* src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
   4778 
   4779 2003-10-21  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4780 
   4781 	* configure.in: AC_LINK_FILES(ffitarget.h).
   4782 	* configure: Regenerate.
   4783 	* Makefile.in: Likewise.
   4784 	* include/Makefile.in: Likewise.
   4785 	* testsuite/Makefile.in: Likewise.
   4786 	* fficonfig.h.in: Likewise.
   4787 
   4788 2003-10-21  Paolo Bonzini  <bonzini (a] gnu.org>
   4789 	    Richard Henderson  <rth (a] redhat.com>
   4790 
   4791 	Avoid that ffi.h includes fficonfig.h.
   4792 
   4793 	* Makefile.am (EXTRA_DIST): Include ffitarget.h files
   4794 	(TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
   4795 	(TARGET_SRC_MIPS_SGI): Removed.
   4796 	(MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
   4797 	(MIPS_SGI): Removed.
   4798 	(CLEANFILES): Removed.
   4799 	(mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
   4800 	targets.
   4801 	* acconfig.h: Removed.
   4802 	* configure.in: Compute sizeofs only for double and long double.
   4803 	Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
   4804 	into AC_DEFINE instead of using acconfig.h.  Create
   4805 	include/ffitarget.h instead of include/fficonfig.h.  Rename
   4806 	MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
   4807 	AC_DEFINE EH_FRAME_FLAGS.
   4808 	* include/Makefile.am (DISTCLEANFILES): New automake macro.
   4809 	(hack_DATA): Add ffitarget.h.
   4810 	* include/ffi.h.in: Remove all system specific definitions.
   4811 	Declare raw API even if it is not installed, why bother?
   4812 	Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
   4813 	not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
   4814 	ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
   4815 	(UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
   4816 	* include/ffi_common.h (bool): Do not define.
   4817 	(ffi_assert): Accept failed assertion.
   4818 	(ffi_type_test): Return void and accept file/line.
   4819 	(FFI_ASSERT): Pass stringized failed assertion.
   4820 	(FFI_ASSERT_AT): New macro.
   4821 	(FFI_ASSERT_VALID_TYPE): New macro.
   4822 	(UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
   4823 	UINT64, SINT64): Define here with gcc's __attribute__ macro
   4824 	instead of in ffi.h
   4825 	(FLOAT32, ALIGN): Define here instead of in ffi.h
   4826 	* include/ffi-mips.h: Removed.  Its content moved to
   4827 	src/mips/ffitarget.h after separating assembly and C sections.
   4828 	* src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
   4829 	src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
   4830 	src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
   4831 	src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
   4832 	SIZEOF_ARG -> FFI_SIZEOF_ARG.
   4833 	* src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
   4834 	* src/debug.c (ffi_assert): Accept stringized failed assertion.
   4835 	(ffi_type_test): Rewritten.
   4836 	* src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
   4837 	FFI_ASSERT_VALID_TYPE.
   4838 	* src/alpha/ffitarget.h, src/arm/ffitarget.h,
   4839 	src/ia64/ffitarget.h, src/m68k/ffitarget.h,
   4840 	src/mips/ffitarget.h, src/powerpc/ffitarget.h,
   4841 	src/s390/ffitarget.h, src/sh/ffitarget.h,
   4842 	src/sh64/ffitarget.h, src/sparc/ffitarget.h,
   4843 	src/x86/ffitarget.h: New files.
   4844 	* src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
   4845 	src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
   4846 	src/powerpc/aix.S, src/powerpc/darwin.S,
   4847 	src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
   4848 	src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
   4849 	src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
   4850 	src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
   4851 	src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
   4852 	include fficonfig.h
   4853 
   4854 2003-10-20  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   4855 
   4856 	* src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
   4857 	_MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
   4858 
   4859 2003-10-19  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4860 
   4861 	* src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
   4862 	Used when FFI_DEBUG = 1.
   4863 
   4864 2003-10-14  Alan Modra  <amodra (a] bigpond.net.au>
   4865 
   4866 	* src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
   4867 	and align.
   4868 
   4869 2003-10-06  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   4870 
   4871 	* include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
   4872 	FFI_MIPS_O32 for O32 ABI.
   4873 
   4874 2003-10-01  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4875 
   4876 	* testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
   4877 	SPARC64. Cleanup whitespaces.
   4878 
   4879 2003-09-19  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4880 
   4881 	* testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
   4882 	strongarm, xscale. Cleanup whitespaces.
   4883 	* testsuite/libffi.call/closure_fn1.c: Likewise.
   4884 	* testsuite/libffi.call/closure_fn2.c: Likewise.
   4885 	* testsuite/libffi.call/closure_fn3.c: Likewise.
   4886 	* testsuite/libffi.call/cls_12byte.c: Likewise.
   4887 	* testsuite/libffi.call/cls_16byte.c: Likewise.
   4888 	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
   4889 	* testsuite/libffi.call/cls_20byte.c: Likewise.
   4890 	* testsuite/libffi.call/cls_24byte.c: Likewise.
   4891 	* testsuite/libffi.call/cls_2byte.c: Likewise.
   4892 	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
   4893 	* testsuite/libffi.call/cls_3byte1.c: Likewise.
   4894 	* testsuite/libffi.call/cls_3byte2.c: Likewise.
   4895 	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
   4896 	* testsuite/libffi.call/cls_4byte.c: Likewise.
   4897 	* testsuite/libffi.call/cls_5byte.c: Likewise.
   4898 	* testsuite/libffi.call/cls_6byte.c: Likewise.
   4899 	* testsuite/libffi.call/cls_7byte.c: Likewise.
   4900 	* testsuite/libffi.call/cls_8byte.c: Likewise.
   4901 	* testsuite/libffi.call/cls_double.c: Likewise.
   4902 	* testsuite/libffi.call/cls_float.c: Likewise.
   4903 	* testsuite/libffi.call/cls_uchar.c: Likewise.
   4904 	* testsuite/libffi.call/cls_uint.c: Likewise.
   4905 	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
   4906 	* testsuite/libffi.call/cls_ushort.c: Likewise.
   4907 	* testsuite/libffi.call/nested_struct.c: Likewise.
   4908 	* testsuite/libffi.call/nested_struct1.c: Likewise.
   4909 	* testsuite/libffi.call/problem1.c: Likewise.
   4910 	* testsuite/libffi.special/unwindtest.cc: Likewise.
   4911 	* testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
   4912 
   4913 2003-09-18  David Edelsohn  <edelsohn (a] gnu.org>
   4914 
   4915 	* src/powerpc/aix.S: Cleanup whitespaces.
   4916 	* src/powerpc/aix_closure.S: Likewise.
   4917 
   4918 2003-09-18  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4919 
   4920 	* src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
   4921 	* src/powerpc/darwin_closure.S: Likewise.
   4922 	* src/powerpc/ffi_darwin.c: Likewise.
   4923 
   4924 2003-09-18  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4925 	    David Edelsohn  <edelsohn (a] gnu.org>
   4926 
   4927 	* src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
   4928 	* src/powerpc/aix_closure.S: Remove the pointer to the outgoing
   4929 	parameter stack.
   4930 	* src/powerpc/darwin_closure.S: Likewise.
   4931 	* src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
   4932 	according to the Darwin/AIX ABI.
   4933 	(ffi_prep_cif_machdep): Likewise.
   4934 	(ffi_closure_helper_DARWIN): Likewise.
   4935 	Remove the outgoing parameter stack logic. Simplify the evaluation
   4936 	of the different CASE types.
   4937 	(ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
   4938 	statement in the trampoline code.
   4939 
   4940 2003-09-18  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   4941 
   4942 	* src/sh/ffi.c (ffi_prep_args): Take account into the alignement
   4943 	for the register size.
   4944 	(ffi_closure_helper_SYSV): Handle the structure return value
   4945 	address correctly.
   4946 	(ffi_closure_helper_SYSV): Return the appropriate type when
   4947 	the registers are used for the structure return value.
   4948 	* src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
   4949 	the 64-bit return value.  Update copyright years.
   4950 
   4951 2003-09-17  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   4952 
   4953 	* testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
   4954 	srcdir for ffi_mips.h.
   4955 
   4956 2003-09-12  Alan Modra  <amodra (a] bigpond.net.au>
   4957 
   4958 	* src/prep_cif.c (initialize_aggregate): Include tail padding in
   4959 	structure size.
   4960 	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
   4961 	placement of float result.
   4962 	* testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
   4963 	cast of "resp" for big-endian 64 bit machines.
   4964 
   4965 2003-09-11  Alan Modra  <amodra (a] bigpond.net.au>
   4966 
   4967 	* src/types.c (double, longdouble): Merge identical SH and ARM
   4968 	typedefs, and add POWERPC64.
   4969 	* src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
   4970 	struct split over gpr and rest.
   4971 	(ffi_prep_cif_machdep): Correct intarg_count for structures.
   4972 	* src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
   4973 
   4974 2003-09-09  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4975 
   4976 	* src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
   4977 	passing correctly.
   4978 
   4979 2003-09-09  Alan Modra  <amodra (a] bigpond.net.au>
   4980 
   4981 	* configure: Regenerate.
   4982 
   4983 2003-09-04  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4984 
   4985 	* Makefile.am: Remove build rules for ffitest.
   4986 	* Makefile.in: Rebuilt.
   4987 
   4988 2003-09-04  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4989 
   4990 	* src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
   4991 	about implicit declaration of abort().
   4992 
   4993 2003-09-04  Andreas Tobler  <a.tobler (a] schweiz.ch>
   4994 
   4995 	* Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
   4996 	* Makefile.in: Rebuilt.
   4997 	* configure.in: Add dejagnu test framework.
   4998 	* configure: Rebuilt.
   4999 
   5000 	* testsuite/Makefile.am: New file.
   5001 	* testsuite/Makefile.in: Built
   5002 	* testsuite/lib/libffi-dg.exp: New file.
   5003 	* testsuite/config/default.exp: Likewise.
   5004 	* testsuite/libffi.call/call.exp: Likewise.
   5005 	* testsuite/libffi.call/ffitest.h: Likewise.
   5006 	* testsuite/libffi.call/closure_fn0.c: Likewise.
   5007 	* testsuite/libffi.call/closure_fn1.c: Likewise.
   5008 	* testsuite/libffi.call/closure_fn2.c: Likewise.
   5009 	* testsuite/libffi.call/closure_fn3.c: Likewise.
   5010 	* testsuite/libffi.call/cls_1_1byte.c: Likewise.
   5011 	* testsuite/libffi.call/cls_3_1byte.c: Likewise.
   5012 	* testsuite/libffi.call/cls_4_1byte.c: Likewise.
   5013 	* testsuite/libffi.call/cls_2byte.c: Likewise.
   5014 	* testsuite/libffi.call/cls_3byte1.c: Likewise.
   5015 	* testsuite/libffi.call/cls_3byte2.c: Likewise.
   5016 	* testsuite/libffi.call/cls_4byte.c: Likewise.
   5017 	* testsuite/libffi.call/cls_5byte.c: Likewise.
   5018 	* testsuite/libffi.call/cls_6byte.c: Likewise.
   5019 	* testsuite/libffi.call/cls_7byte.c: Likewise.
   5020 	* testsuite/libffi.call/cls_8byte.c: Likewise.
   5021 	* testsuite/libffi.call/cls_12byte.c: Likewise.
   5022 	* testsuite/libffi.call/cls_16byte.c: Likewise.
   5023 	* testsuite/libffi.call/cls_20byte.c: Likewise.
   5024 	* testsuite/libffi.call/cls_24byte.c: Likewise.
   5025 	* testsuite/libffi.call/cls_double.c: Likewise.
   5026 	* testsuite/libffi.call/cls_float.c: Likewise.
   5027 	* testsuite/libffi.call/cls_uchar.c: Likewise.
   5028 	* testsuite/libffi.call/cls_uint.c: Likewise.
   5029 	* testsuite/libffi.call/cls_ulonglong.c: Likewise.
   5030 	* testsuite/libffi.call/cls_ushort.c: Likewise.
   5031 	* testsuite/libffi.call/float.c: Likewise.
   5032 	* testsuite/libffi.call/float1.c: Likewise.
   5033 	* testsuite/libffi.call/float2.c: Likewise.
   5034 	* testsuite/libffi.call/many.c: Likewise.
   5035 	* testsuite/libffi.call/many_win32.c: Likewise.
   5036 	* testsuite/libffi.call/nested_struct.c: Likewise.
   5037 	* testsuite/libffi.call/nested_struct1.c: Likewise.
   5038 	* testsuite/libffi.call/pyobjc-tc.c: Likewise.
   5039 	* testsuite/libffi.call/problem1.c: Likewise.
   5040 	* testsuite/libffi.call/promotion.c: Likewise.
   5041 	* testsuite/libffi.call/return_ll.c: Likewise.
   5042 	* testsuite/libffi.call/return_sc.c: Likewise.
   5043 	* testsuite/libffi.call/return_uc.c: Likewise.
   5044 	* testsuite/libffi.call/strlen.c: Likewise.
   5045 	* testsuite/libffi.call/strlen_win32.c: Likewise.
   5046 	* testsuite/libffi.call/struct1.c: Likewise.
   5047 	* testsuite/libffi.call/struct2.c: Likewise.
   5048 	* testsuite/libffi.call/struct3.c: Likewise.
   5049 	* testsuite/libffi.call/struct4.c: Likewise.
   5050 	* testsuite/libffi.call/struct5.c: Likewise.
   5051 	* testsuite/libffi.call/struct6.c: Likewise.
   5052 	* testsuite/libffi.call/struct7.c: Likewise.
   5053 	* testsuite/libffi.call/struct8.c: Likewise.
   5054 	* testsuite/libffi.call/struct9.c: Likewise.
   5055 	* testsuite/libffi.special/special.exp: New file.
   5056 	* testsuite/libffi.special/ffitestcxx.h: Likewise.
   5057 	* testsuite/libffi.special/unwindtest.cc: Likewise.
   5058 
   5059 
   5060 2003-08-13  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   5061 
   5062 	* src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
   5063 	copyright years.
   5064 
   5065 2003-08-02  Alan Modra  <amodra (a] bigpond.net.au>
   5066 
   5067 	* src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
   5068 	structure passing.
   5069 	(ffi_closure_helper_LINUX64): Likewise.
   5070 	* src/powerpc/linux64.S: Remove code writing to parm save area.
   5071 	* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
   5072 	address in lr from ffi_closure_helper_LINUX64 call to calculate
   5073 	table address.  Optimize function tail.
   5074 
   5075 2003-07-28  Andreas Tobler  <a.tobler (a] schweiz.ch>
   5076 
   5077 	* src/sparc/ffi.c: Handle all floating point registers.
   5078 	* src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
   5079 
   5080 2003-07-11  Gerald Pfeifer  <pfeifer (a] dbai.tuwien.ac.at>
   5081 
   5082 	* README: Note that libffi is not part of GCC.  Update the project
   5083 	URL and status.
   5084 
   5085 2003-06-19  Franz Sirl  <Franz.Sirl-kernel (a] lauterbach.com>
   5086 
   5087 	* src/powerpc/ppc_closure.S: Include ffi.h.
   5088 
   5089 2003-06-13  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   5090 
   5091 	* src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
   5092 	Use C style comments.
   5093 
   5094 2003-06-13  Kaz Kojima  <kkojima (a] rr.iij4u.or.jp>
   5095 
   5096 	* Makefile.am: Add SHmedia support.  Fix a typo of SH support.
   5097 	* Makefile.in: Regenerate.
   5098 	* configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
   5099 	* configure: Regenerate.
   5100 	* include/ffi.h.in: Add SHmedia support.
   5101 	* src/sh64/ffi.c: New file.
   5102 	* src/sh64/sysv.S: New file.
   5103 
   5104 2003-05-16  Jakub Jelinek  <jakub (a] redhat.com>
   5105 
   5106 	* configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
   5107 	should be read-only.
   5108 	* configure: Rebuilt.
   5109 	* fficonfig.h.in: Rebuilt.
   5110 	* include/ffi.h.in (EH_FRAME_FLAGS): Define.
   5111 	* src/alpha/osf.S: Use EH_FRAME_FLAGS.
   5112 	* src/powerpc/linux64.S: Likewise.
   5113 	* src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
   5114 	* src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
   5115 	if -fpic/-fPIC/-mrelocatable.
   5116 	* src/powerpc/powerpc_closure.S: Likewise.
   5117 	* src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
   5118 	#write in .eh_frame flags.
   5119 	* src/sparc/v9.S: Likewise.
   5120 	* src/x86/unix64.S: Use EH_FRAME_FLAGS.
   5121 	* src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
   5122 	* src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
   5123 
   5124 2003-05-07  Jeff Sturm  <jsturm (a] one-point.com>
   5125 
   5126 	Fixes PR bootstrap/10656
   5127 	* configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
   5128 	support for .register pseudo-op.
   5129 	* src/sparc/v8.S: Use it.
   5130 	* fficonfig.h.in: Rebuilt.
   5131 	* configure: Rebuilt.
   5132 
   5133 2003-04-18  Jakub Jelinek  <jakub (a] redhat.com>
   5134 
   5135 	* include/ffi.h.in (POWERPC64): Define if 64-bit.
   5136 	(enum ffi_abi): Add FFI_LINUX64 on POWERPC.
   5137 	Make it the default on POWERPC64.
   5138 	(FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
   5139 	* configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
   5140 	* configure: Rebuilt.
   5141 	* src/powerpc/ffi.c (hidden): Define.
   5142 	(ffi_prep_args_SYSV): Renamed from
   5143 	ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
   5144 	(NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
   5145 	ASM_NEEDS_REGISTERS64): New.
   5146 	(ffi_prep_args64): New function.
   5147 	(ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
   5148 	(ffi_call): Likewise.
   5149 	(ffi_prep_closure): Likewise.
   5150 	(flush_icache): Surround by #ifndef POWERPC64.
   5151 	(ffi_dblfl): New union type.
   5152 	(ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
   5153 	(ffi_closure_helper_LINUX64): New function.
   5154 	* src/powerpc/ppc_closure.S: Surround whole file by #ifndef
   5155 	__powerpc64__.
   5156 	* src/powerpc/sysv.S: Likewise.
   5157 	(ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
   5158 	* src/powerpc/linux64.S: New file.
   5159 	* src/powerpc/linux64_closure.S: New file.
   5160 	* Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
   5161 	src/powerpc/linux64_closure.S.
   5162 	(TARGET_SRC_POWERPC): Likewise.
   5163 
   5164 	* src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
   5165 	closure_test_fn3): Fix result printing on big-endian 64-bit
   5166 	machines.
   5167 	(main): Print tst2_arg instead of uninitialized tst2_result.
   5168 
   5169 	* src/ffitest.c (main): Hide what closure pointer really points to
   5170 	from the compiler.
   5171 
   5172 2003-04-16  Richard Earnshaw  <rearnsha (a] arm.com>
   5173 
   5174 	* configure.in (arm-*-netbsdelf*): Add configuration.
   5175 	(configure): Regenerated.
   5176 
   5177 2003-04-04  Loren J. Rittle  <ljrittle (a] acm.org>
   5178 
   5179 	* include/Makefile.in: Regenerate.
   5180 
   5181 2003-03-21  Zdenek Dvorak  <rakdver (a] atrey.karlin.mff.cuni.cz>
   5182 
   5183 	* libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
   5184 	bit mode.
   5185 	* libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
   5186 	Receive closure pointer through parameter, read args using
   5187 	__builtin_dwarf_cfa.
   5188 	(FFI_INIT_TRAMPOLINE): Send closure reference through eax.
   5189 
   5190 2003-03-12  Andreas Schwab  <schwab (a] suse.de>
   5191 
   5192 	* configure.in: Avoid trailing /. in toolexeclibdir.
   5193 	* configure: Rebuilt.
   5194 
   5195 2003-03-03  Andreas Tobler <a.tobler (a] schweiz.ch>
   5196 
   5197 	* src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
   5198 
   5199 2003-02-06  Andreas Tobler <a.tobler (a] schweiz.ch>
   5200 
   5201 	* libffi/src/powerpc/darwin_closure.S:
   5202 	Fix alignement bug, allocate 8 bytes for the result.
   5203 	* libffi/src/powerpc/aix_closure.S:
   5204 	Likewise.
   5205 	* libffi/src/powerpc/ffi_darwin.c:
   5206 	Update stackframe description for aix/darwin_closure.S.
   5207 
   5208 2003-02-06  Jakub Jelinek  <jakub (a] redhat.com>
   5209 
   5210 	* src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
   5211 	attribute.
   5212 
   5213 2003-01-31  Christian Cornelssen  <ccorn (a] cs.tu-berlin.de>,
   5214 	    Andreas Schwab  <schwab (a] suse.de>
   5215 
   5216 	* configure.in: Adjust command to source config-ml.in to account
   5217 	for changes to the libffi_basedir definition.
   5218 	(libffi_basedir): Remove ${srcdir} from value and include trailing
   5219 	slash if nonempty.
   5220 
   5221 	* configure: Regenerate.
   5222 
   5223 2003-01-29  Franz Sirl  <Franz.Sirl-kernel (a] lauterbach.com>
   5224 
   5225 	* src/powerpc/ppc_closure.S: Recode to fit shared libs.
   5226 
   5227 2003-01-28  Andrew Haley  <aph (a] redhat.com>
   5228 
   5229 	* include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
   5230 	* src/x86/ffi64.c (ffi_prep_closure): New.
   5231 	(ffi_closure_UNIX64_inner): New.
   5232 	* src/x86/unix64.S (ffi_closure_UNIX64): New.
   5233 
   5234 2003-01-27  Alexandre Oliva  <aoliva (a] redhat.com>
   5235 
   5236 	* configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
   5237 	Remove USE_LIBDIR conditional.
   5238 	* Makefile.am (toolexecdir, toolexeclibdir): Don't override.
   5239 	* Makefile.in, configure: Rebuilt.
   5240 
   5241 2003-01027  David Edelsohn  <edelsohn (a] gnu.org>
   5242 
   5243 	* Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
   5244 	* Makefile.in: Regenerate.
   5245 
   5246 2003-01-22  Andrew Haley  <aph (a] redhat.com>
   5247 
   5248 	* src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
   5249 	unwind info.
   5250 
   5251 2003-01-21  Andreas Tobler  <a.tobler (a] schweiz.ch>
   5252 
   5253 	* src/powerpc/darwin.S: Add unwind info.
   5254 	* src/powerpc/darwin_closure.S: Likewise.
   5255 
   5256 2003-01-14  Andrew Haley  <aph (a] redhat.com>
   5257 
   5258 	* src/x86/ffi64.c (ffi_prep_args): Check for void retval.
   5259 	(ffi_prep_cif_machdep): Likewise.
   5260 	* src/x86/unix64.S: Add unwind info.
   5261 
   5262 2003-01-14  Andreas Jaeger  <aj (a] suse.de>
   5263 
   5264 	* src/ffitest.c (main): Only use ffi_closures if those are
   5265 	supported.
   5266 
   5267 2003-01-13 Andreas Tobler <a.tobler (a] schweiz.ch>
   5268 
   5269 	* libffi/src/ffitest.c
   5270 	 add closure testcases
   5271 
   5272 2003-01-13 Kevin B. Hendricks <khendricks (a] ivey.uwo.ca>
   5273 
   5274 	* libffi/src/powerpc/ffi.c
   5275 	 fix alignment bug for float (4 byte aligned iso 8 byte)
   5276 
   5277 2003-01-09  Geoffrey Keating  <geoffk (a] apple.com>
   5278 
   5279 	* src/powerpc/ffi_darwin.c: Remove RCS version string.
   5280 	* src/powerpc/darwin.S: Remove RCS version string.
   5281 
   5282 2003-01-03  Jeff Sturm  <jsturm (a] one-point.com>
   5283 
   5284 	* include/ffi.h.in: Add closure defines for SPARC, SPARC64.
   5285 	* src/ffitest.c (main): Use static storage for closure.
   5286 	* src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
   5287 	* src/sparc/v8.S (ffi_closure_v8): New.
   5288 	* src/sparc/v9.S (ffi_closure_v9): New.
   5289 
   5290 2002-11-10  Ranjit Mathew <rmathew (a] hotmail.com>
   5291 
   5292 	* include/ffi.h.in: Added FFI_STDCALL ffi_type
   5293 	  enumeration for X86_WIN32.
   5294 	* src/x86/win32.S: Added ffi_call_STDCALL function
   5295 	  definition.
   5296 	* src/x86/ffi.c (ffi_call/ffi_raw_call): Added
   5297 	  switch cases for recognising FFI_STDCALL and
   5298 	  calling ffi_call_STDCALL if target is X86_WIN32.
   5299 	* src/ffitest.c (my_stdcall_strlen/stdcall_many):
   5300 	  stdcall versions of the "my_strlen" and "many"
   5301 	  test functions (for X86_WIN32).
   5302 	  Added test cases to test stdcall invocation using
   5303 	  these functions.
   5304 
   5305 2002-12-02  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   5306 
   5307 	* src/sh/sysv.S: Add DWARF2 unwind info.
   5308 
   5309 2002-11-27  Ulrich Weigand  <uweigand (a] de.ibm.com>
   5310 
   5311 	* src/s390/sysv.S (.eh_frame section): Make section read-only.
   5312 
   5313 2002-11-26  Jim Wilson  <wilson (a] redhat.com>
   5314 
   5315 	* src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
   5316 
   5317 2002-11-23  H.J. Lu <hjl (a] gnu.org>
   5318 
   5319 	* acinclude.m4: Add dummy AM_PROG_LIBTOOL.
   5320 	Include ../config/accross.m4.
   5321 	* aclocal.m4; Rebuild.
   5322 	* configure: Likewise.
   5323 
   5324 2002-11-15  Ulrich Weigand  <uweigand (a] de.ibm.com>
   5325 
   5326 	* src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
   5327 
   5328 2002-11-11  DJ Delorie  <dj (a] redhat.com>
   5329 
   5330 	* configure.in: Look for common files in the right place.
   5331 
   5332 2002-10-08  Ulrich Weigand  <uweigand (a] de.ibm.com>
   5333 
   5334 	* src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
   5335 	raw data as _Jv_word values, not ffi_raw.
   5336 	(ffi_java_ptrarray_to_raw): Likewise.
   5337 	(ffi_java_rvalue_to_raw): New function.
   5338 	(ffi_java_raw_call): Call it.
   5339 	(ffi_java_raw_to_rvalue): New function.
   5340 	(ffi_java_translate_args): Call it.
   5341 	* src/ffitest.c (closure_test_fn): Interpret return value
   5342 	as ffi_arg, not int.
   5343 	* src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
   5344 	FFI_TYPE_POINTER case.
   5345 	(ffi_closure_helper_SYSV): Likewise.  Also, assume return
   5346 	values extended to word size.
   5347 
   5348 2002-10-02  Andreas Jaeger  <aj (a] suse.de>
   5349 
   5350 	* src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
   5351 
   5352 2002-10-01  Bo Thorsen  <bo (a] smetana.suse.de>
   5353 
   5354 	* include/ffi.h.in: Fix i386 win32 compilation.
   5355 
   5356 2002-09-30  Ulrich Weigand  <uweigand (a] de.ibm.com>
   5357 
   5358 	* configure.in: Add s390x-*-linux-* target.
   5359 	* configure: Regenerate.
   5360 	* include/ffi.h.in: Define S390X for s390x targets.
   5361 	(FFI_CLOSURES): Define for s390/s390x.
   5362 	(FFI_TRAMPOLINE_SIZE): Likewise.
   5363 	(FFI_NATIVE_RAW_API): Likewise.
   5364 	* src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
   5365 	* src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
   5366 	* src/s390/ffi.c: Major rework of existing code.  Add support for
   5367 	s390x targets.  Add closure support.
   5368 	* src/s390/sysv.S: Likewise.
   5369 
   5370 2002-09-29  Richard Earnshaw  <rearnsha (a] arm.com>
   5371 
   5372 	* src/arm/sysv.S: Fix typo.
   5373 
   5374 2002-09-28  Richard Earnshaw  <rearnsha (a] arm.com>
   5375 
   5376 	* src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
   5377 	has defined __USER_LABEL_PREFIX__, then use it in CNAME.
   5378 	(ffi_call_SYSV): Handle soft-float.
   5379 
   5380 2002-09-27  Bo Thorsen  <bo (a] suse.de>
   5381 
   5382 	* include/ffi.h.in: Fix multilib x86-64 support.
   5383 
   5384 2002-09-22  Kaveh R. Ghazi  <ghazi (a] caip.rutgers.edu>
   5385 
   5386 	* Makefile.am (all-multi): Fix multilib parallel build.
   5387 
   5388 2002-07-19  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   5389 
   5390 	* configure.in (sh[34]*-*-linux*): Add brackets.
   5391 	* configure: Regenerate.
   5392 
   5393 2002-07-18  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   5394 
   5395 	* Makefile.am: Add SH support.
   5396 	* Makefile.in: Regenerate.
   5397 	* configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
   5398 	* configure: Regenerate.
   5399 	* include/ffi.h.in: Add SH support.
   5400 	* src/sh/ffi.c: New file.
   5401 	* src/sh/sysv.S: New file.
   5402 	* src/types.c: Add SH support.
   5403 
   5404 2002-07-16  Bo Thorsen  <bo (a] suse.de>
   5405 
   5406 	* src/x86/ffi64.c: New file that adds x86-64 support.
   5407 	* src/x86/unix64.S: New file that handles argument setup for
   5408 	x86-64.
   5409 	* src/x86/sysv.S: Don't use this on x86-64.
   5410 	* src/x86/ffi.c: Don't use this on x86-64.
   5411 	Remove unused vars.
   5412 	* src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
   5413 	for x86-64.
   5414 	* src/ffitest.c (struct6): New test that tests a special case in
   5415 	the x86-64 ABI.
   5416 	(struct7): Likewise.
   5417 	(struct8): Likewise.
   5418 	(struct9): Likewise.
   5419 	(closure_test_fn): Silence warning about this when it's not used.
   5420 	(main): Add the new tests.
   5421 	(main): Fix a couple of wrong casts and silence some compiler warnings.
   5422 	* include/ffi.h.in: Add x86-64 ABI definition.
   5423 	* fficonfig.h.in: Regenerate.
   5424 	* Makefile.am: Add x86-64 support.
   5425 	* configure.in: Likewise.
   5426 	* Makefile.in: Regenerate.
   5427 	* configure: Likewise.
   5428 
   5429 2002-06-24  Bo Thorsen  <bo (a] suse.de>
   5430 
   5431 	* src/types.c: Merge settings for similar architectures.
   5432 	Add x86-64 sizes and alignments.
   5433 
   5434 2002-06-23  Bo Thorsen  <bo (a] suse.de>
   5435 
   5436 	* src/arm/ffi.c (ffi_prep_args): Remove unused vars.
   5437 	* src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
   5438 	* src/mips/ffi.c (ffi_prep_args): Likewise.
   5439 	* src/m68k/ffi.c (ffi_prep_args): Likewise.
   5440 
   5441 2002-07-18  H.J. Lu  (hjl (a] gnu.org)
   5442 
   5443 	* Makefile.am (TARGET_SRC_MIPS_LINUX): New.
   5444 	(libffi_la_SOURCES): Support MIPS_LINUX.
   5445 	(libffi_convenience_la_SOURCES): Likewise.
   5446 	* Makefile.in: Regenerated.
   5447 
   5448 	* configure.in (mips64*-*): Skip.
   5449 	(mips*-*-linux*): New.
   5450 	* configure: Regenerated.
   5451 
   5452 	* src/mips/ffi.c: Include <sgidefs.h>.
   5453 
   5454 2002-06-06  Ulrich Weigand  <uweigand (a] de.ibm.com>
   5455 
   5456 	* src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
   5457 
   5458 2002-05-27  Roger Sayle  <roger (a] eyesopen.com>
   5459 
   5460 	* src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
   5461 
   5462 2002-05-27  Bo Thorsen  <bo (a] suse.de>
   5463 
   5464 	* src/x86/ffi.c (ffi_prep_args): Remove unused variable and
   5465 	fix formatting.
   5466 
   5467 2002-05-13  Andreas Tobler  <a.tobler (a] schweiz.ch>
   5468 
   5469 	* src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
   5470 	beginning of function (for older apple cc).
   5471 
   5472 2002-05-08  Alexandre Oliva  <aoliva (a] redhat.com>
   5473 
   5474 	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
   5475 	script entry, and set LD to it when configuring multilibs.
   5476 	* configure: Rebuilt.
   5477 
   5478 2002-05-05  Jason Thorpe  <thorpej (a] wasabisystems.com>
   5479 
   5480 	* configure.in (sparc64-*-netbsd*): Add target.
   5481 	(sparc-*-netbsdelf*): Likewise.
   5482 	* configure: Regenerate.
   5483 
   5484 2002-04-28  David S. Miller  <davem (a] redhat.com>
   5485 
   5486 	* configure.in, configure: Fix SPARC test in previous change.
   5487 
   5488 2002-04-29  Gerhard Tonn  <GerhardTonn (a] swol.de>
   5489 
   5490 	* Makefile.am: Add Linux for S/390 support.
   5491 	* Makefile.in: Regenerate.
   5492 	* configure.in: Add Linux for S/390 support.
   5493 	* configure: Regenerate.
   5494 	* include/ffi.h.in: Add Linux for S/390 support.
   5495 	* src/s390/ffi.c: New file from libffi CVS tree.
   5496 	* src/s390/sysv.S: New file from libffi CVS tree.
   5497 
   5498 2002-04-28  Jakub Jelinek  <jakub (a] redhat.com>
   5499 
   5500 	* configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
   5501 	%r_disp32().
   5502 	* src/sparc/v8.S: Use it.
   5503 	* src/sparc/v9.S: Likewise.
   5504 	* fficonfig.h.in: Rebuilt.
   5505 	* configure: Rebuilt.
   5506 
   5507 2002-04-08  Hans Boehm  <Hans_Boehm (a] hp.com>
   5508 
   5509 	* src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
   5510 	correctly.
   5511 	* src/ia64/unix.S: Add unwind information. Fix comments.
   5512 	Save sp in a way that's compatible with unwind info.
   5513 	(ffi_call_unix): Correctly restore sp in all cases.
   5514 	* src/ia64/ffi.c: Add, fix comments.
   5515 
   5516 2002-04-08  Jakub Jelinek  <jakub (a] redhat.com>
   5517 
   5518 	* src/sparc/v8.S: Make .eh_frame dependent on target word size.
   5519 
   5520 2002-04-06  Jason Thorpe  <thorpej (a] wasabisystems.com>
   5521 
   5522 	* configure.in (alpha*-*-netbsd*): Add target.
   5523 	* configure: Regenerate.
   5524 
   5525 2002-04-04  Jeff Sturm  <jsturm (a] one-point.com>
   5526 
   5527 	* src/sparc/v8.S: Add unwind info.
   5528 	* src/sparc/v9.S: Likewise.
   5529 
   5530 2002-03-30  Krister Walfridsson  <cato (a] df.lth.se>
   5531 
   5532 	* configure.in: Enable i*86-*-netbsdelf*.
   5533 	* configure: Rebuilt.
   5534 
   5535 2002-03-29  David Billinghurst <David.Billinghurst (a] riotinto.com>
   5536 
   5537 	PR other/2620
   5538 	* src/mips/n32.s: Delete
   5539 	* src/mips/o32.s: Delete
   5540 
   5541 2002-03-21  Loren J. Rittle  <ljrittle (a] acm.org>
   5542 
   5543 	* configure.in: Enable alpha*-*-freebsd*.
   5544 	* configure: Rebuilt.
   5545 
   5546 2002-03-17  Bryce McKinlay  <bryce (a] waitaki.otago.ac.nz>
   5547 
   5548 	* Makefile.am: libfficonvenience -> libffi_convenience.
   5549 	* Makefile.in: Rebuilt.
   5550 
   5551 	* Makefile.am: Define ffitest_OBJECTS.
   5552 	* Makefile.in: Rebuilt.
   5553 
   5554 2002-03-07  Andreas Tobler  <toa (a] pop.agri.ch>
   5555 	    David Edelsohn  <edelsohn (a] gnu.org>
   5556 
   5557 	* Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
   5558 	(TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
   5559 	(TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
   5560 	* Makefile.in: Regenerate.
   5561 	* include/ffi.h.in: Add AIX and Darwin closure definitions.
   5562 	* src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
   5563 	(flush_icache, flush_range): New functions.
   5564 	(ffi_closure_helper_DARWIN): New function.
   5565 	* src/powerpc/aix_closure.S: New file.
   5566 	* src/powerpc/darwin_closure.S: New file.
   5567 
   5568 2002-02-24  Jeff Sturm  <jsturm (a] one-point.com>
   5569 
   5570 	* include/ffi.h.in: Add typedef for ffi_arg.
   5571 	* src/ffitest.c (main): Declare rint with ffi_arg.
   5572 
   5573 2002-02-21  Andreas Tobler  <toa (a] pop.agri.ch>
   5574 
   5575 	* src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
   5576 	number of GPRs for floating-point arguments.
   5577 
   5578 2002-01-31  Anthony Green  <green (a] redhat.com>
   5579 
   5580 	* configure: Rebuilt.
   5581 	* configure.in: Replace CHECK_SIZEOF and endian tests with
   5582 	cross-compiler friendly macros.
   5583 	* aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
   5584 	macros.
   5585 
   5586 2002-01-18  David Edelsohn  <edelsohn (a] gnu.org>
   5587 
   5588 	* src/powerpc/darwin.S (_ffi_call_AIX): New.
   5589 	* src/powerpc/aix.S (ffi_call_DARWIN): New.
   5590 
   5591 2002-01-17  David Edelsohn  <edelsohn (a] gnu.org>
   5592 
   5593 	* Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
   5594 	(TARGET_SRC_POWERPC_AIX): New.
   5595 	(POWERPC_AIX): New stanza.
   5596 	* Makefile.in: Regenerate.
   5597 	* configure.in: Add AIX case.
   5598 	* configure: Regenerate.
   5599 	* include/ffi.h.in (ffi_abi): Add FFI_AIX.
   5600 	* src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
   5601 	size.  Fix "long double" support.
   5602 	(ffi_call): Add FFI_AIX case.
   5603 	* src/powerpc/aix.S: New.
   5604 
   5605 2001-10-09  John Hornkvist  <john (a] toastedmarshmallow.com>
   5606 
   5607 	Implement Darwin PowerPC ABI.
   5608 	* configure.in: Handle powerpc-*-darwin*.
   5609 	* Makefile.am: Set source files for POWERPC_DARWIN.
   5610 	* configure: Rebuilt.
   5611 	* Makefile.in: Rebuilt.
   5612 	* include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
   5613 	POWERPC_DARWIN.
   5614 	* src/powerpc/darwin.S: New file.
   5615 	* src/powerpc/ffi_darwin.c: New file.
   5616 
   5617 2001-10-07  Joseph S. Myers  <jsm28 (a] cam.ac.uk>
   5618 
   5619 	* src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
   5620 
   5621 2001-07-16  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   5622 
   5623 	* src/x86/sysv.S: Avoid gas-only .balign directive.
   5624 	Use C style comments.
   5625 
   5626 2001-07-16  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   5627 
   5628 	* src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
   5629 	Fixes PR bootstrap/3563.
   5630 
   5631 2001-06-26  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   5632 
   5633 	* src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
   5634 
   5635 2001-06-25  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   5636 
   5637 	* configure.in: Recognize sparc*-sun-* host.
   5638 	* configure: Regenerate.
   5639 
   5640 2001-06-06  Andrew Haley  <aph (a] redhat.com>
   5641 
   5642 	* src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
   5643 
   5644 2001-06-03  Andrew Haley  <aph (a] redhat.com>
   5645 
   5646 	* src/alpha/osf.S: Add unwind info.
   5647 	* src/powerpc/sysv.S: Add unwind info.
   5648 	* src/powerpc/ppc_closure.S: Likewise.
   5649 
   5650 2000-05-31  Jeff Sturm  <jsturm (a] one-point.com>
   5651 
   5652 	* configure.in: Fix AC_ARG_ENABLE usage.
   5653 	* configure: Rebuilt.
   5654 
   5655 2001-05-06  Bryce McKinlay  <bryce (a] waitaki.otago.ac.nz>
   5656 
   5657 	* configure.in: Remove warning about beta code.
   5658 	* configure: Rebuilt.
   5659 
   5660 2001-04-25  Hans Boehm <Hans_Boehm (a] hp.com>
   5661 
   5662 	* src/ia64/unix.S: Restore stack pointer when returning from
   5663 	ffi_closure_UNIX.
   5664 	* src/ia64/ffi.c: Fix typo in comment.
   5665 
   5666 2001-04-18  Jim Wilson  <wilson (a] redhat.com>
   5667 
   5668 	* src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
   5669 	to eliminate RAW DV.
   5670 
   5671 2001-04-12  Bryce McKinlay  <bryce (a] albatross.co.nz>
   5672 
   5673 	* Makefile.am: Make a libtool convenience library.
   5674 	* Makefile.in: Rebuilt.
   5675 
   5676 2001-03-29  Bryce McKinlay  <bryce (a] albatross.co.nz>
   5677 
   5678 	* configure.in: Use different syntax for subdirectory creation.
   5679 	* configure: Rebuilt.
   5680 
   5681 2001-03-27  Jon Beniston  <jon (a] beniston.com>
   5682 
   5683 	* configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
   5684 	* configure: Rebuilt.
   5685 	* Makefile.am: Added X86_WIN32 target support.
   5686 	* Makefile.in: Rebuilt.
   5687 
   5688 	* include/ffi.h.in: Added X86_WIN32 target support.
   5689 
   5690 	* src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
   5691 	* src/types.c: Added X86_WIN32 target support.
   5692 
   5693 	* src/x86/win32.S: New file. Based on sysv.S, but with EH
   5694 	stuff removed and made to work with CygWin's gas.
   5695 
   5696 2001-03-26  Bryce McKinlay  <bryce (a] albatross.co.nz>
   5697 
   5698 	* configure.in: Make target subdirectory in build dir.
   5699 	* Makefile.am: Override suffix based rules to specify correct output
   5700 	subdirectory.
   5701 	* Makefile.in: Rebuilt.
   5702 	* configure: Rebuilt.
   5703 
   5704 2001-03-23  Kevin B Hendricks  <khendricks (a] ivey.uwo.ca>
   5705 
   5706 	* src/powerpc/ppc_closure.S: New file.
   5707 	* src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
   5708 	involving long long and register pairs.
   5709 	(ffi_prep_closure): New function.
   5710 	(flush_icache): Likewise.
   5711 	(ffi_closure_helper_SYSV): Likewise.
   5712 	* include/ffi.h.in (FFI_CLOSURES): Define on PPC.
   5713 	(FFI_TRAMPOLINE_SIZE): Likewise.
   5714 	(FFI_NATIVE_RAW_API): Likewise.
   5715 	* Makefile.in: Rebuilt.
   5716 	* Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
   5717 	(TARGET_SRC_POWERPC): Likewise.
   5718 
   5719 2001-03-19  Tom Tromey  <tromey (a] redhat.com>
   5720 
   5721 	* Makefile.in: Rebuilt.
   5722 	* Makefile.am (ffitest_LDFLAGS): New macro.
   5723 
   5724 2001-03-02  Nick Clifton  <nickc (a] redhat.com>
   5725 
   5726 	* include/ffi.h.in: Remove RCS ident string.
   5727 	* include/ffi_mips.h: Remove RCS ident string.
   5728 	* src/debug.c: Remove RCS ident string.
   5729 	* src/ffitest.c: Remove RCS ident string.
   5730 	* src/prep_cif.c: Remove RCS ident string.
   5731 	* src/types.c: Remove RCS ident string.
   5732 	* src/alpha/ffi.c: Remove RCS ident string.
   5733 	* src/alpha/osf.S: Remove RCS ident string.
   5734 	* src/arm/ffi.c: Remove RCS ident string.
   5735 	* src/arm/sysv.S: Remove RCS ident string.
   5736 	* src/mips/ffi.c: Remove RCS ident string.
   5737 	* src/mips/n32.S: Remove RCS ident string.
   5738 	* src/mips/o32.S: Remove RCS ident string.
   5739 	* src/sparc/ffi.c: Remove RCS ident string.
   5740 	* src/sparc/v8.S: Remove RCS ident string.
   5741 	* src/sparc/v9.S: Remove RCS ident string.
   5742 	* src/x86/ffi.c: Remove RCS ident string.
   5743 	* src/x86/sysv.S: Remove RCS ident string.
   5744 
   5745 2001-02-08  Joseph S. Myers  <jsm28 (a] cam.ac.uk>
   5746 
   5747 	* include/ffi.h.in: Change sourceware.cygnus.com references to
   5748 	gcc.gnu.org.
   5749 
   5750 2000-12-09  Richard Henderson  <rth (a] redhat.com>
   5751 
   5752 	* src/alpha/ffi.c (ffi_call): Simplify struct return test.
   5753 	(ffi_closure_osf_inner): Index rather than increment avalue
   5754 	and arg_types.  Give ffi_closure_osf the raw return value type.
   5755 	* src/alpha/osf.S (ffi_closure_osf): Handle return value type
   5756 	promotion.
   5757 
   5758 2000-12-07  Richard Henderson  <rth (a] redhat.com>
   5759 
   5760 	* src/raw_api.c (ffi_translate_args): Fix typo.
   5761 	(ffi_prep_closure): Likewise.
   5762 
   5763 	* include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
   5764 	FFI_TRAMPOLINE_SIZE.
   5765 	* src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
   5766 	cif->bytes for new ffi_call_osf implementation.
   5767 	(ffi_prep_args): Absorb into ...
   5768 	(ffi_call): ... here.  Do all stack allocation here and
   5769 	avoid a callback function.
   5770 	(ffi_prep_closure, ffi_closure_osf_inner): New.
   5771 	* src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
   5772 	(ffi_closure_osf): New.
   5773 
   5774 2000-09-10  Alexandre Oliva  <aoliva (a] redhat.com>
   5775 
   5776 	* config.guess, config.sub, install-sh: Removed.
   5777 	* ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
   5778 	* Makefile.in: Rebuilt.
   5779 
   5780 	* acinclude.m4: Include libtool macros from the top level.
   5781 	* aclocal.m4, configure: Rebuilt.
   5782 
   5783 2000-08-22  Alexandre Oliva  <aoliva (a] redhat.com>
   5784 
   5785 	* configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
   5786 	* configure: Rebuilt.
   5787 
   5788 2000-05-11  Scott Bambrough  <scottb (a] netwinder.org>
   5789 
   5790 	* libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
   5791 	memory correctly.  Use conditional instructions, not branches where
   5792 	possible.
   5793 
   5794 2000-05-04  Tom Tromey  <tromey (a] cygnus.com>
   5795 
   5796 	* configure: Rebuilt.
   5797 	* configure.in: Match `arm*-*-linux-*'.
   5798 	From Chris Dornan <cdornan (a] arm.com>.
   5799 
   5800 2000-04-28  Jakub Jelinek  <jakub (a] redhat.com>
   5801 
   5802 	* Makefile.am (SUBDIRS): Define.
   5803 	(AM_MAKEFLAGS): Likewise.
   5804 	(Multilib support.): Add section.
   5805 	* Makefile.in: Rebuilt.
   5806 	* ltconfig (extra_compiler_flags, extra_compiler_flags_value):
   5807 	New variables. Set for gcc using -print-multi-lib. Export them
   5808 	to libtool.
   5809 	(sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
   5810 	* ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
   5811 	for -shared links.
   5812 	(extra_compiler_flags_value, extra_compiler_flags): Check these
   5813 	for extra compiler options which need to be passed down in
   5814 	compiler_flags.
   5815 
   5816 2000-04-16  Anthony Green  <green (a] redhat.com>
   5817 
   5818 	* configure: Rebuilt.
   5819 	* configure.in: Change i*86-pc-linux* to i*86-*-linux*.
   5820 
   5821 2000-04-14  Jakub Jelinek  <jakub (a] redhat.com>
   5822 
   5823 	* include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
   5824 	Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
   5825 	* src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
   5826 	Replace all void * sizeofs with sizeof(int).
   5827 	Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
   5828 	different than DOUBLE.
   5829 	Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
   5830 	(ffi_prep_args_v9): New function.
   5831 	(ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
   5832 	(ffi_V9_return_struct): New function.
   5833 	(ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
   5834 	32bit code (not yet cross-arch calls).
   5835 	* src/sparc/v8.S: Add struct return delay nop.
   5836 	Handle long long.
   5837 	* src/sparc/v9.S: New file.
   5838 	* src/prep_cif.c (ffi_prep_cif): Return structure pointer
   5839 	is used on sparc64 only for structures larger than 32 bytes.
   5840 	Pass by reference for structures is done for structure arguments
   5841 	larger than 16 bytes.
   5842 	* src/ffitest.c (main): Use 64bit rint on sparc64.
   5843 	Run long long tests on sparc.
   5844 	* src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
   5845 	sparc64.
   5846 	(FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
   5847 	on sparc64.
   5848 	* configure.in (sparc-*-linux*): New supported target.
   5849 	(sparc64-*-linux*): Likewise.
   5850 	* configure: Rebuilt.
   5851 	* Makefile.am: Add v9.S to SPARC files.
   5852 	* Makefile.in: Likewise.
   5853 	(LINK): Surround $(CCLD) into double quotes, so that multilib
   5854 	compiles work correctly.
   5855 
   5856 2000-04-04  Alexandre Petit-Bianco  <apbianco (a] cygnus.com>
   5857 
   5858 	* configure: Rebuilt.
   5859 	* configure.in: (i*86-*-solaris*): New libffi target. Patch
   5860 	proposed by Bryce McKinlay.
   5861 
   5862 2000-03-20  Tom Tromey  <tromey (a] cygnus.com>
   5863 
   5864 	* Makefile.in: Hand edit for java_raw_api.lo.
   5865 
   5866 2000-03-08  Bryce McKinlay  <bryce (a] albatross.co.nz>
   5867 
   5868 	* config.guess, config.sub: Update from the gcc tree.
   5869 	Fix for PR libgcj/168.
   5870 
   5871 2000-03-03  Tom Tromey  <tromey (a] cygnus.com>
   5872 
   5873 	* Makefile.in: Fixed ia64 by hand.
   5874 
   5875 	* configure: Rebuilt.
   5876 	* configure.in (--enable-multilib): New option.
   5877 	(libffi_basedir): New subst.
   5878 	(AC_OUTPUT): Added multilib code.
   5879 
   5880 2000-03-02  Tom Tromey  <tromey (a] cygnus.com>
   5881 
   5882 	* Makefile.in: Rebuilt.
   5883 	* Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
   5884 	directory name.
   5885 
   5886 2000-02-25  Hans Boehm <boehm (a] acm.org>
   5887 
   5888 	* src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
   5889 	files.
   5890 	* src/raw_api.c (ffi_translate_args): Fixed typo in argument
   5891 	list.
   5892 	(ffi_prep_raw_closure): Use ffi_translate_args, not
   5893 	ffi_closure_translate.
   5894 	* src/java_raw_api.c: New file.
   5895 	* src/ffitest.c (closure_test_fn): New function.
   5896 	(main): Define `rint' as long long on IA64.  Added new test when
   5897 	FFI_CLOSURES is defined.
   5898 	* include/ffi.h.in (ALIGN): Use size_t, not unsigned.
   5899 	(ffi_abi): Recognize IA64.
   5900 	(ffi_raw): Added `flt' field.
   5901 	Added "Java raw API" code.
   5902 	* configure.in: Recognize ia64.
   5903 	* Makefile.am (TARGET_SRC_IA64): New macro.
   5904 	(libffi_la_common_SOURCES): Added java_raw_api.c.
   5905 	(libffi_la_SOURCES): Define in IA64 case.
   5906 
   5907 2000-01-04  Tom Tromey  <tromey (a] cygnus.com>
   5908 
   5909 	* Makefile.in: Rebuilt with newer automake.
   5910 
   5911 1999-12-31  Tom Tromey  <tromey (a] cygnus.com>
   5912 
   5913 	* Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
   5914 
   5915 1999-09-01  Tom Tromey  <tromey (a] cygnus.com>
   5916 
   5917 	* include/ffi.h.in: Removed PACKAGE and VERSION defines and
   5918 	undefs.
   5919 	* fficonfig.h.in: Rebuilt.
   5920 	* configure: Rebuilt.
   5921 	* configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
   5922 	Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
   5923 	* acconfig.h: Don't #undef PACKAGE or VERSION.
   5924 
   5925 1999-08-09  Anthony Green  <green (a] cygnus.com>
   5926 
   5927 	* include/ffi.h.in: Try to work around messy header problem
   5928 	with PACKAGE and VERSION.
   5929 
   5930 	* configure: Rebuilt.
   5931 	* configure.in: Change version to 2.00-beta.
   5932 
   5933 	* fficonfig.h.in: Rebuilt.
   5934 	* acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
   5935 
   5936 	* src/x86/ffi.c (ffi_raw_call): Rename.
   5937 
   5938 1999-08-02  Kresten Krab Thorup  <krab (a] dominiq.is.s.u-tokyo.ac.jp>
   5939 
   5940 	* src/x86/ffi.c (ffi_closure_SYSV): New function.
   5941 	(ffi_prep_incoming_args_SYSV): Ditto.
   5942 	(ffi_prep_closure): Ditto.
   5943 	(ffi_closure_raw_SYSV): Ditto.
   5944 	(ffi_prep_raw_closure): More ditto.
   5945 	(ffi_call_raw): Final ditto.
   5946 
   5947 	* include/ffi.h.in: Add definitions for closure and raw API.
   5948 
   5949 	* src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
   5950 	FFI_TYPE_UINT64.
   5951 
   5952 	* Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
   5953 
   5954 	* src/raw_api.c: New file.
   5955 
   5956 	* include/ffi.h.in (ffi_raw): New type.
   5957 	(UINT_ARG, SINT_ARG): New defines.
   5958 	(ffi_closure, ffi_raw_closure): New types.
   5959 	(ffi_prep_closure, ffi_prep_raw_closure): New declarations.
   5960 
   5961 	* configure.in: Add check for endianness and sizeof void*.
   5962 
   5963 	* src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
   5964 	instead of directly.
   5965 
   5966 	* configure: Rebuilt.
   5967 
   5968 Thu Jul  8 14:28:42 1999  Anthony Green  <green (a] cygnus.com>
   5969 
   5970 	* configure.in: Add x86 and powerpc BeOS configurations.
   5971 	From Makoto Kato <m_kato (a] ga2.so-net.ne.jp>.
   5972 
   5973 1999-05-09  Anthony Green  <green (a] cygnus.com>
   5974 
   5975 	* configure.in: Add warning about this being beta code.
   5976 	Remove src/Makefile.am from the picture.
   5977 	* configure: Rebuilt.
   5978 
   5979 	* Makefile.am: Move logic from src/Makefile.am.  Add changes
   5980 	to support libffi as a target library.
   5981 	* Makefile.in: Rebuilt.
   5982 
   5983 	* aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
   5984 	Upgraded to new autoconf, automake, libtool.
   5985 
   5986 	* README: Tweaks.
   5987 
   5988 	* LICENSE: Update copyright date.
   5989 
   5990 	* src/Makefile.am, src/Makefile.in: Removed.
   5991 
   5992 1998-11-29  Anthony Green  <green (a] cygnus.com>
   5993 
   5994 	* include/ChangeLog: Removed.
   5995 	* src/ChangeLog: Removed.
   5996 	* src/mips/ChangeLog: Removed.
   5997 	* src/sparc/ChangeLog: Remboved.
   5998 	* src/x86/ChangeLog: Removed.
   5999 
   6000 	* ChangeLog.v1: Created.
   6001